1 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
3 * include/bits/version.def (freestanding_cstring): Add.
4 * include/bits/version.h: Regenerate.
5 * include/c_compatibility/string.h (strtok): Do not declare for
7 * include/c_global/cstring (strtok): Likewise.
8 * testsuite/21_strings/headers/cstring/version.cc: New test.
10 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
12 * include/bits/version.def (freestanding_algorithm)
13 (freestanding_array, freestanding_optional)
14 (freestanding_string_view, freestanding_variant): Add.
15 * include/bits/version.h: Regenerate.
16 * include/std/algorithm (__glibcxx_want_freestanding_algorithm):
18 * include/std/array (__glibcxx_want_freestanding_array):
20 * include/std/optional (__glibcxx_want_freestanding_optional):
22 * include/std/string_view
23 (__glibcxx_want_freestanding_string_view): Define.
24 * include/std/variant (__glibcxx_want_freestanding_variant):
26 * testsuite/20_util/optional/version.cc: Add checks for
27 __cpp_lib_freestanding_optional.
28 * testsuite/20_util/variant/version.cc: Add checks for
29 __cpp_lib_freestanding_variant.
30 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
31 Adjust dg-error line numbers.
32 * testsuite/21_strings/basic_string_view/requirements/version.cc:
34 * testsuite/23_containers/array/requirements/version.cc: New
36 * testsuite/25_algorithms/fill_n/requirements/version.cc: New
38 * testsuite/25_algorithms/swap_ranges/requirements/version.cc:
41 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
43 * include/bits/version.def (freestanding_expected): New macro.
44 (span): Add C++26 value.
45 * include/bits/version.h: Regenerate.
46 * include/std/expected (__glibcxx_want_freestanding_expected):
48 * include/std/span (span::at): New member function.
49 * testsuite/20_util/expected/version.cc: Add checks for
50 __cpp_lib_freestanding_expected.
51 * testsuite/23_containers/span/2.cc: Moved to...
52 * testsuite/23_containers/span/version.cc: ...here. Add checks
53 for __cpp_lib_span in <span> as well as in <version>.
54 * testsuite/23_containers/span/1.cc: Removed.
55 * testsuite/23_containers/span/at.cc: New test.
57 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
59 * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one
60 characters to _M_copy_from_string.
61 * testsuite/tr2/dynamic_bitset/string.cc: New test.
63 2023-11-21 Jonathan Wakely <jwakely@redhat.com>
65 * doc/html/*: Regenerate.
66 * doc/xml/faq.xml: Remove reference to buildstat.html pages.
67 * doc/xml/manual/test.xml: Likewise
69 2023-11-21 Jan Hubicka <jh@suse.cz>
74 * include/bits/stl_vector.h (_M_realloc_append): New member function.
76 * include/bits/vector.tcc: (emplace_back): Use it.
77 (_M_realloc_insert): Let compiler know that new vector size is non-zero.
78 (_M_realloc_append): New member function.
80 2023-11-18 Jonathan Wakely <jwakely@redhat.com>
83 * include/std/format (basic_format_arg::_S_to_arg_type): Check
84 value_type for basic_string_view and basic_string
86 * testsuite/std/format/arguments/112607.cc: New test.
88 2023-11-18 Jonathan Wakely <jwakely@redhat.com>
91 * include/std/format (_Sink_iter::_M_reserve): New member
93 (_Sink::_Reservation): New nested class.
94 (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions.
95 (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual
97 (_Iter_sink<O, ContigIter>::_M_reserve): Likewise.
98 (__do_vformat_to): Use new functions to optimize "{}" case.
100 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
102 * config.h.in: Regenerate.
104 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
106 * include/Makefile.am: Add new header.
107 * include/Makefile.in: Regenerate.
108 * include/bits/version.def (saturation_arithmetic): Define.
109 * include/bits/version.h: Regenerate.
110 * include/std/numeric: Include new header.
111 * include/bits/sat_arith.h: New file.
112 * testsuite/26_numerics/saturation/add.cc: New test.
113 * testsuite/26_numerics/saturation/cast.cc: New test.
114 * testsuite/26_numerics/saturation/div.cc: New test.
115 * testsuite/26_numerics/saturation/mul.cc: New test.
116 * testsuite/26_numerics/saturation/sub.cc: New test.
117 * testsuite/26_numerics/saturation/version.cc: New test.
119 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
121 * include/std/utility (in_range): Rename _Up parameter to _Res.
123 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
125 * include/bits/out_ptr.h: Add Doxygen comments. Remove a
126 redundant preprocessor condition.
127 * testsuite/20_util/smartptr.adapt/version.cc: New test.
129 2023-11-17 Jonathan Wakely <jwakely@redhat.com>
131 * include/bits/chrono_io.h: Fix Doxygen markup.
133 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
136 * include/std/stacktrace (formatter::format): Format according
138 * include/std/thread (formatter::format): Use _Align_right as
140 * testsuite/19_diagnostics/stacktrace/output.cc: Check
141 fill-and-align handling. Change compile test to run.
142 * testsuite/30_threads/thread/id/output.cc: Check fill-and-align
145 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
148 * include/Makefile.am: Add new header.
149 * include/Makefile.in: Regenerate.
150 * include/bits/out_ptr.h: New file.
151 * include/bits/shared_ptr.h (__is_shared_ptr): Move definition
153 * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from
155 * include/bits/shared_ptr_base.h (__shared_count): Declare
156 out_ptr_t as a friend.
157 (_Sp_counted_deleter, __shared_ptr): Likewise.
158 * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>):
159 Declare out_ptr_t and inout_ptr_t as friends.
160 (__is_unique_ptr): Define new variable template.
161 * include/bits/version.def (out_ptr): Define.
162 * include/bits/version.h: Regenerate.
163 * include/std/memory: Include new header.
164 * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test.
165 * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test.
166 * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc:
168 * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New
170 * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test.
171 * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test.
172 * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc:
174 * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New
177 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
179 * include/bits/algorithmfwd.h: Do not define standard feature
181 * include/bits/align.h: Likewise. Test internal macros instead
183 * include/bits/alloc_traits.h: Likewise.
184 * include/bits/allocator.h: Likewise.
185 * include/bits/atomic_base.h: Likewise.
186 * include/bits/atomic_timed_wait.h: Likewise.
187 * include/bits/atomic_wait.h: Likewise.
188 * include/bits/basic_string.h: Likewise.
189 * include/bits/basic_string.tcc: Likewise.
190 * include/bits/char_traits.h: Likewise.
191 * include/bits/chrono.h: Likewise.
192 * include/bits/cow_string.h: Likewise.
193 * include/bits/forward_list.h: Likewise.
194 * include/bits/hashtable.h: Likewise.
195 * include/bits/ios_base.h: Likewise.
196 * include/bits/memory_resource.h: Likewise.
197 * include/bits/move.h: Likewise.
198 * include/bits/move_only_function.h: Likewise.
199 * include/bits/node_handle.h: Likewise.
200 * include/bits/ptr_traits.h: Likewise.
201 * include/bits/range_access.h: Likewise.
202 * include/bits/ranges_algo.h: Likewise.
203 * include/bits/ranges_cmp.h: Likewise.
204 * include/bits/ranges_util.h: Likewise.
205 * include/bits/semaphore_base.h: Likewise.
206 * include/bits/shared_ptr.h: Likewise.
207 * include/bits/shared_ptr_atomic.h: Likewise.
208 * include/bits/shared_ptr_base.h: Likewise.
209 * include/bits/stl_algo.h: Likewise.
210 * include/bits/stl_algobase.h: Likewise.
211 * include/bits/stl_function.h: Likewise.
212 * include/bits/stl_iterator.h: Likewise.
213 * include/bits/stl_list.h: Likewise.
214 * include/bits/stl_map.h: Likewise.
215 * include/bits/stl_pair.h: Likewise.
216 * include/bits/stl_queue.h: Likewise.
217 * include/bits/stl_stack.h: Likewise.
218 * include/bits/stl_tree.h: Likewise.
219 * include/bits/stl_uninitialized.h: Likewise.
220 * include/bits/stl_vector.h: Likewise.
221 * include/bits/unique_ptr.h: Likewise.
222 * include/bits/unordered_map.h: Likewise.
223 * include/bits/uses_allocator_args.h: Likewise.
224 * include/bits/utility.h: Likewise.
225 * include/bits/erase_if.h: Add comment.
226 * include/std/algorithm: Define standard feature test macros
228 * include/std/atomic: Likewise.
229 * include/std/array: Likewise.
230 * include/std/chrono: Likewise.
231 * include/std/condition_variable: Likewise.
232 * include/std/deque: Likewise.
233 * include/std/format: Likewise.
234 * include/std/functional: Likewise.
235 * include/std/forward_list: Likewise.
236 * include/std/ios: Likewise.
237 * include/std/iterator: Likewise.
238 * include/std/list: Likewise.
239 * include/std/map: Likewise.
240 * include/std/memory: Likewise.
241 * include/std/numeric: Likewise.
242 * include/std/queue: Likewise.
243 * include/std/ranges: Likewise.
244 * include/std/regex: Likewise.
245 * include/std/set: Likewise.
246 * include/std/stack: Likewise.
247 * include/std/stop_token: Likewise.
248 * include/std/string: Likewise.
249 * include/std/string_view:
250 * include/std/tuple: Likewise.
251 * include/std/unordered_map:
252 * include/std/unordered_set:
253 * include/std/utility: Likewise.
254 * include/std/vector: Likewise.
255 * include/std/scoped_allocator: Query internal macros instead of
258 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
260 * testsuite/18_support/byte/requirements.cc: Disable PCH.
261 * testsuite/18_support/destroying_delete.cc: Likewise.
262 * testsuite/18_support/source_location/1.cc: Likewise.
263 * testsuite/18_support/source_location/version.cc: Likewise.
264 * testsuite/18_support/type_info/constexpr.cc: Likewise.
265 * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc:
267 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
268 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
269 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
270 * testsuite/20_util/addressof/requirements/constexpr.cc:
272 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
273 * testsuite/20_util/allocator_traits/header.cc: Likewise.
274 * testsuite/20_util/as_const/1.cc: Likewise. Likewise.
275 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
276 * testsuite/20_util/bitset/version.cc: Likewise.
277 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
279 * testsuite/20_util/duration_cast/rounding.cc: Likewise.
280 * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
282 * testsuite/20_util/exchange/constexpr.cc: Likewise.
283 * testsuite/20_util/expected/synopsis.cc: Likewise.
284 * testsuite/20_util/expected/version.cc: Likewise.
285 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
286 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
287 * testsuite/20_util/function_objects/invoke/3.cc: Likewise.
288 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
289 * testsuite/20_util/function_objects/invoke/constexpr.cc:
291 * testsuite/20_util/function_objects/invoke/version.cc:
293 * testsuite/20_util/function_objects/searchers.cc: Likewise.
294 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
295 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
296 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
297 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
298 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
299 * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc:
301 * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
303 * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
304 * testsuite/20_util/is_nothrow_swappable/value.h: Likewise.
305 * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc:
306 Remove redundant checks already tested elsewhere.
307 * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
309 * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable
311 * testsuite/20_util/is_pointer_interconvertible/value.cc:
313 * testsuite/20_util/is_pointer_interconvertible/version.cc:
315 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
316 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
317 * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc:
318 Remove redundant checks already tested elsewhere.
319 * testsuite/20_util/is_swappable/requirements/typedefs.cc:
320 Remove redundant checks already tested elsewhere.
321 * testsuite/20_util/is_swappable/value.cc: Disable PCH.
322 * testsuite/20_util/is_swappable/value.h: Reorder headers.
323 * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc:
324 Remove redundant checks already tested elsewhere.
325 * testsuite/20_util/is_swappable_with/requirements/typedefs.cc:
326 Remove redundant checks already tested elsewhere.
327 * testsuite/20_util/is_swappable_with/value.cc: Disable PCH.
328 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
329 * testsuite/20_util/move_only_function/cons.cc: Likewise.
330 * testsuite/20_util/move_only_function/version.cc: Likewise.
331 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
332 * testsuite/20_util/optional/requirements.cc: Likewise.
333 * testsuite/20_util/optional/version.cc: Likewise.
334 * testsuite/20_util/owner_less/void.cc: Likewise.
335 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
336 * testsuite/20_util/reference_from_temporary/version.cc:
338 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
340 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
341 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
342 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
343 * testsuite/20_util/time_point_cast/rounding.cc: Likewise.
344 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
345 * testsuite/20_util/to_chars/result.cc: Likewise.
346 * testsuite/20_util/to_chars/version.cc: Likewise.
347 * testsuite/20_util/to_underlying/1.cc: Likewise.
348 * testsuite/20_util/to_underlying/version.cc: Likewise.
349 * testsuite/20_util/tuple/apply/1.cc: Likewise.
350 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
352 * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise.
353 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
354 * testsuite/20_util/tuple/tuple_element_t.cc: Likewise.
355 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
357 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
359 * testsuite/20_util/unreachable/1.cc: Likewise.
360 * testsuite/20_util/unreachable/version.cc: Likewise.
361 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
362 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
363 * testsuite/20_util/variant/constexpr.cc: Likewise.
364 * testsuite/20_util/variant/version.cc: Likewise.
365 * testsuite/20_util/variant/visit_inherited.cc: Likewise.
366 * testsuite/20_util/void_t/1.cc: Likewise.
367 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
369 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
371 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
373 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
374 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
376 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
378 * testsuite/21_strings/basic_string/version.cc: Likewise.
379 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
381 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
383 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
385 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc:
387 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
389 * testsuite/21_strings/char_traits/requirements/version.cc:
391 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
393 * testsuite/23_containers/array/creation/1.cc: Likewise.
394 * testsuite/23_containers/array/creation/2.cc: Likewise.
395 * testsuite/23_containers/array/element_access/constexpr_c++17.cc:
397 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
399 * testsuite/23_containers/array/requirements/constexpr_iter.cc:
401 * testsuite/23_containers/deque/erasure.cc: Likewise.
402 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
403 * testsuite/23_containers/list/erasure.cc: Likewise.
404 * testsuite/23_containers/map/erasure.cc: Likewise.
405 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
406 * testsuite/23_containers/set/erasure.cc: Likewise.
407 * testsuite/23_containers/span/1.cc: Likewise.
408 * testsuite/23_containers/span/2.cc: Likewise.
409 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
410 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
411 * testsuite/23_containers/unordered_map/operations/1.cc:
413 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
414 * testsuite/23_containers/unordered_set/operations/1.cc:
416 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
417 * testsuite/23_containers/vector/erasure.cc: Likewise.
418 * testsuite/23_containers/vector/requirements/version.cc:
420 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
421 * testsuite/25_algorithms/clamp/constexpr.cc: Likewise.
422 * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc:
423 Remove redundant checks already tested elsewhere.
424 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
425 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
426 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
427 * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise.
428 * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
429 * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
430 * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
431 * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.
432 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
433 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
434 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
435 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
436 * testsuite/26_numerics/bit/header-2.cc: Likewise.
437 * testsuite/26_numerics/bit/header.cc: Likewise.
438 * testsuite/26_numerics/complex/1.cc: Likewise.
439 * testsuite/26_numerics/complex/2.cc: Likewise.
440 * testsuite/26_numerics/endian/2.cc: Likewise.
441 * testsuite/26_numerics/endian/3.cc: Likewise.
442 * testsuite/26_numerics/gcd/1.cc: Likewise.
443 * testsuite/26_numerics/lcm/1.cc: Likewise.
444 * testsuite/26_numerics/lerp/1.cc: Likewise.
445 * testsuite/26_numerics/lerp/version.cc: Likewise.
446 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
447 * testsuite/26_numerics/midpoint/version.cc: Likewise.
448 * testsuite/26_numerics/numbers/1.cc: Likewise.
449 * testsuite/26_numerics/numbers/2.cc: Likewise.
450 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc:
452 * testsuite/27_io/basic_filebuf/native_handle/version.cc:
454 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc:
456 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
458 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
459 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
460 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
461 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
462 * testsuite/27_io/spanstream/1.cc: Likewise.
463 * testsuite/27_io/spanstream/version.cc: Likewise.
464 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
465 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
466 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
467 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
468 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
470 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
471 * testsuite/30_threads/barrier/1.cc: Likewise.
472 * testsuite/30_threads/barrier/2.cc: Likewise.
473 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
475 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
477 * testsuite/30_threads/jthread/1.cc: Likewise.
478 * testsuite/30_threads/jthread/version.cc: Likewise.
479 * testsuite/30_threads/latch/1.cc: Likewise.
480 * testsuite/30_threads/latch/2.cc: Likewise.
481 * testsuite/30_threads/scoped_lock/requirements/typedefs.cc:
483 * testsuite/30_threads/semaphore/1.cc: Likewise.
484 * testsuite/30_threads/semaphore/2.cc: Likewise.
485 * testsuite/30_threads/stop_token/1.cc: Likewise.
486 * testsuite/30_threads/stop_token/2.cc: Likewise.
487 * testsuite/experimental/feat-char8_t.cc: Likewise.
488 * testsuite/experimental/iterator/ostream_joiner.cc: Likewise.
489 * testsuite/experimental/numeric/gcd.cc: Likewise.
490 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
491 * testsuite/std/concepts/1.cc: Likewise.
492 * testsuite/std/concepts/2.cc: Likewise.
493 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
494 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
495 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
496 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
497 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
498 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
499 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
500 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
501 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
502 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
503 * testsuite/std/ranges/repeat/1.cc: Likewise.
504 * testsuite/std/ranges/version_c++23.cc: Likewise.
505 * testsuite/std/ranges/zip/1.cc: Likewise.
506 * testsuite/std/time/syn_c++20.cc: Likewise.
507 * testsuite/experimental/feat-cxx14.cc: Likewise. Include
508 <algorithm> and <iterator>.
509 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
510 Adjust dg-error line numbers.
512 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
514 * include/bits/version.def (stds): Use >= 202100 for C++23
516 * include/bits/version.h: Regenerate.
517 * include/std/thread: Use > C++20 instead of >= C++23 for
518 __cplusplus condition.
520 2023-11-16 Jonathan Wakely <jwakely@redhat.com>
522 * include/std/istream (__rvalue_stream_extraction_t): Test
523 __cpp_concepts instead of __cpp_lib_concepts.
524 * include/std/ostream (__derived_from_ios_base): Likewise.
525 (__rvalue_stream_insertion_t): Likewise.
527 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
530 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index):
531 Correctly handle unused capacity at the start of the first node.
532 * testsuite/libstdc++-xmethods/deque.cc: Check index operator
533 when elements have been removed from the front.
535 2023-11-15 Jonathan Wakely <jwakely@redhat.com>
537 * include/std/stacktrace (basic_stacktrace::at): Fix class name
538 in exception message.
539 * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if
540 current() returns a non-empty stacktrace.
542 2023-11-15 Alexandre Oliva <oliva@gnu.org>
545 2023-11-15 Alexandre Oliva <oliva@adacore.com>
547 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
549 2023-11-15 Alexandre Oliva <oliva@adacore.com>
551 * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef.
553 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
555 * include/std/chrono (operator-(const weekday&, const weekday&)):
558 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
560 * include/std/chrono (weekday::_S_from_days): Fix UB.
561 * testsuite/std/time/weekday/1.cc: Add test for overflow.
563 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
565 * include/std/chrono (year::is_leap): Clear code.
567 2023-11-14 Cassio Neri <cassio.neri@gmail.com>
569 * include/std/chrono (year_month_day_last::day): Remove &1.
571 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
573 * include/std/charconv (__from_chars_pow2_base): Convert base to
574 unsigned for call to __countr_zero.
575 (__from_chars_alnum): Likewise for call to __bit_width.
577 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
580 * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix
581 type of hash functio nfor entries.
582 * testsuite/19_diagnostics/stacktrace/hash.cc: New test.
584 2023-11-14 Jonathan Wakely <jwakely@redhat.com>
587 * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix
588 calculation to use _M_start._M_cur.
589 * testsuite/libstdc++-xmethods/deque.cc: Check failing cases.
591 2023-11-13 Arsen Arsenović <arsen@aarsen.me>
593 * configure: Regenerate.
595 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
597 * testsuite/std/time/clock/file/io.cc: Double timeout using
599 * testsuite/std/time/clock/gps/io.cc: Likewise.
600 * testsuite/std/time/clock/local/io.cc: Likewise.
601 * testsuite/std/time/clock/system/io.cc: Likewise.
602 * testsuite/std/time/clock/tai/io.cc: Likewise.
603 * testsuite/std/time/clock/utc/io.cc: Likewise.
605 2023-11-13 Jonathan Wakely <jwakely@redhat.com>
608 * include/std/optional (_Optional_payload_base::_M_reset): Set
609 _M_engaged to false unconditionally.
611 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
614 * include/bits/stl_bvector.h (_M_assume_normalized): Do not use
615 statement form of assume attribute for Clang.
617 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
619 * include/std/string_view (operator==, operator<=>): Remove
620 redundant overloads (LWG 3950).
622 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
624 * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to...
625 * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here.
626 * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to...
627 * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here.
628 Check macro first and then #undef.
629 * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to...
630 * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here.
632 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
635 * include/bits/utility.h (integer_sequence): Add static_assert.
636 * testsuite/20_util/integer_sequence/112473.cc: New test.
638 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
640 * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective
641 target for specifiers using c++17_down.
643 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
645 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free)
646 (atomic_load_explicit, atomic_load, atomic_store_explicit)
647 (atomic_store, atomic_exchange_explicit, atomic_exchange)
648 (atomic_compare_exchange_strong, atomic_compare_exchange_weak)
649 (atomic_compare_exchange_strong_explicit)
650 (atomic_compare_exchange_weak_explicit): Add deprecated
651 attribute for C++20 and later.
652 * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated
654 * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
655 * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise.
656 * testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
658 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
660 * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]]
661 attribute to constructors.
662 * include/bits/unique_lock.h (unique_lock): Likewise.
663 * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise.
664 * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test.
665 * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test.
666 * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test.
668 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
670 * include/std/span (span, as_bytes, as_writable_bytes): Add
671 [[nodiscard]] attribute on all non-void functions.
672 * testsuite/23_containers/span/back_assert_neg.cc: Suppress
674 * testsuite/23_containers/span/back_neg.cc: Likewise.
675 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
676 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
677 * testsuite/23_containers/span/first_neg.cc: Likewise.
678 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
679 * testsuite/23_containers/span/front_neg.cc: Likewise.
680 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
681 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
682 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
683 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
684 * testsuite/23_containers/span/last_neg.cc: Likewise.
685 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
687 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
689 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
691 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
693 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
695 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
696 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
697 * testsuite/23_containers/span/nodiscard.cc: New test.
699 2023-11-11 Jonathan Wakely <jwakely@redhat.com>
702 * config.h.in: Regenerate.
703 * configure: Regenerate.
704 * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove.
705 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo.
706 (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise.
707 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise.
708 (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise.
709 (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use
710 GLIBCXX_MAYBE_UNDERSCORED_FUNCS.
712 2023-11-11 Nathaniel Shead <nathanieloshead@gmail.com>
715 * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf)
716 (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl)
717 (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf)
718 (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff)
719 (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf)
720 (tanl, tanhf, tanhl): Add using-declarations in namespace std.
721 * testsuite/26_numerics/headers/cmath/equivalent_functions.cc:
723 * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc:
724 Add checks for existence of above names.
726 2023-11-09 Arsen Arsenović <arsen@aarsen.me>
728 * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as
731 2023-11-09 Arsen Arsenović <arsen@aarsen.me>
733 * include/bits/memoryfwd.h: Remove HOSTED check around allocator
734 and its specializations.
736 2023-11-09 Patrick Palka <ppalka@redhat.com>
739 * include/std/ranges (__detail::__box<_Tp>::operator*): Define
740 && overloads as well.
741 (__detail::__take_of_repeat_view): Forward __r when accessing
743 (__detail::__drop_of_repeat_view): Likewise.
744 * testsuite/std/ranges/repeat/1.cc (test07): New test.
746 2023-11-09 François Dumont <fdumont@gcc.gnu.org>
748 * include/bits/hashtable_policy.h (_RehashStateGuard): New.
749 (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)):
751 * include/bits/hashtable.h (__rehash_guard_t): New.
752 (__rehash_state): Remove.
754 (_M_rehash_aux): Rename into _M_rehash.
755 (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt.
758 2023-11-09 François Dumont <fdumont@gcc.gnu.org>
760 * include/bits/hashtable_policy.h
761 (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New.
762 (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node
763 pointer while constructing in place the value_type instance.
765 2023-11-09 Alexandre Oliva <oliva@adacore.com>
768 * include/bits/stl_bvector.h (_Bit_iterator_base): Add
769 _M_assume_normalized member function. Call it in _M_bump_up,
770 _M_bump_down, _M_incr, operator==, operator<=>, operator<, and
772 (_Bit_iterator): Also call it in operator*.
773 (_Bit_const_iterator): Likewise.
775 2023-11-07 François Dumont <fdumont@gcc.gnu.org>
777 * include/bits/hashtable_policy.h
778 (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor
779 on construct exception.
781 2023-11-07 Richard Biener <rguenther@suse.de>
784 * src/c++98/locale.cc (locale::facet::_S_initialize_once):
785 Check whether _S_c_locale is already initialized.
786 (locale::facet::_S_get_c_locale): Always perform non-threadsafe
787 init when threadsafe init failed.
789 2023-11-06 Ian Lance Taylor <iant@golang.org>
791 PR libbacktrace/111315
792 PR libbacktrace/112263
793 * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when
794 grepping link.h for dl_iterate_phdr.
795 * configure: Regenerate.
797 2023-11-06 Jonathan Wakely <jwakely@redhat.com>
799 * include/std/expected (expected::and_then, expected::or_else):
800 Add string literals to static assertions.
801 * include/std/optional (optional::and_then, optional::or_else):
804 2023-11-04 Feng Jisen <J1senn@outlook.com>
806 * include/bits/utility.h (_Nth_type): Remove redundant partial
809 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
812 * include/std/system_error (system_error::system_error): Group
813 arguments so that concatenation can reuse rvalue's capacity.
814 * src/c++11/system_error.cc (strerror_string): New function.
815 [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions.
816 (generic_error_category::message): Use strerror_string.
817 (system_error_category::message): Likewise.
819 2023-11-04 Jonathan Wakely <jwakely@redhat.com>
821 * doc/xml/manual/appendix_contributing.xml: Replace example that
823 * doc/html/manual/source_code_style.html: Regenerate.
825 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
828 * include/std/string_view (string_view::remove_suffix): Add
830 * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc:
832 * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc:
835 2023-11-02 Jonathan Wakely <jwakely@redhat.com>
837 * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks.
838 * configure: Regenerate.
840 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
842 * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently
843 added emul TLS symbols.
845 2023-10-30 François Dumont <fdumont@gcc.gnu.org>
847 * src/experimental/contract.cc
848 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment.
849 Remove weak attribute.
851 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
853 * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS
856 2023-10-29 François Dumont <fdumont@gcc.gnu.org>
858 * src/experimental/contract.cc
859 [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol
860 without version namespace decoration for gcc.
862 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
865 * include/std/shared_mutex (shared_lock::unlock): Change errc
866 constant to operation_not_permitted.
867 * testsuite/30_threads/shared_lock/locking/112089.cc: New test.
869 2023-10-26 Jonathan Wakely <jwakely@redhat.com>
871 * testsuite/20_util/duration/io.cc: Double timeout using
873 * testsuite/std/time/day/io.cc: Likewise.
874 * testsuite/std/time/format.cc: Likewise.
875 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
876 * testsuite/std/time/month/io.cc: Likewise.
877 * testsuite/std/time/month_day/io.cc: Likewise.
878 * testsuite/std/time/month_day_last/io.cc: Likewise.
879 * testsuite/std/time/month_weekday/io.cc: Likewise.
880 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
881 * testsuite/std/time/weekday/io.cc: Likewise.
882 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
883 * testsuite/std/time/weekday_last/io.cc: Likewise.
884 * testsuite/std/time/year/io.cc: Likewise.
885 * testsuite/std/time/year_month/io.cc: Likewise.
886 * testsuite/std/time/year_month_day/io.cc: Likewise.
887 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
888 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
889 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
890 * testsuite/std/time/zoned_time/io.cc: Likewise.
892 2023-10-25 Jonathan Wakely <jwakely@redhat.com>
895 * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool
897 * src/libbacktrace/Makefile.in: Regenerate.
899 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com>
901 * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to
903 * include/Makefile.in: Regenerate.
905 2023-10-22 Iain Sandoe <iain@sandoe.co.uk>
907 * configure: Regenerate.
908 * configure.ac: Handle Darwin rpaths.
909 * src/Makefile.am: Handle Darwin rpaths.
910 * src/Makefile.in: Regenerate.
912 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
914 * include/bits/basic_string.h (_M_init_local_buf()): New
916 (_M_use_local_data()): Use _M_init_local_buf.
917 (basic_string(), basic_string(const Alloc&))
918 (basic_string(basic_string&&))
919 (basic_string(basic_string&&, const Alloc&)): Use
920 _M_init_local_buf instead of _M_use_local_data().
921 * include/bits/basic_string.tcc (swap(basic_string&))
922 (_M_construct(InIter, InIter, input_iterator_tag))
923 (_M_construct(InIter, InIter, forward_iterator_tag))
924 (_M_construct(size_type, CharT), reserve()): Likewise.
926 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu>
928 * include/std/ranges (zip_view, adjacent_view): Implement
929 workaround for LLVM-61763.
931 2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com>
933 * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length()
935 2023-10-21 Jonathan Wakely <jwakely@redhat.com>
937 * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix
940 2023-10-20 Marek Polacek <polacek@redhat.com>
943 * include/std/charconv (from_chars): Add explicit casts.
945 2023-10-19 François Dumont <fdumont@gcc.gnu.org>
947 * include/bits/hashtable_policy.h
948 (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove.
949 (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove.
950 * include/bits/hashtable.h
951 (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New.
952 (_M_merge_unique<>, _M_merge_multi<>): Use latter.
953 * testsuite/23_containers/unordered_map/modifiers/merge.cc
954 (test04, test05, test06): New test cases.
956 2023-10-13 Jakub Jelinek <jakub@redhat.com>
958 * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01):
959 Initialize stream to va_arg(ap, FILE*) rather than 0.
960 * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01):
963 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
965 * testsuite/29_atomics/atomic/compare_exchange_padding.cc,
966 testsuite/29_atomics/atomic_flag/clear/1.cc,
967 testsuite/29_atomics/atomic_flag/cons/value_init.cc,
968 testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc,
969 testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc,
970 testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc,
971 testsuite/29_atomics/atomic_ref/generic.cc,
972 testsuite/29_atomics/atomic_ref/integral.cc,
973 testsuite/29_atomics/atomic_ref/pointer.cc: Replace
974 dg-require-thread-fence with dg-require-atomic-cmpxchg-word.
976 2023-10-13 Hans-Peter Nilsson <hp@axis.com>
978 * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word):
980 * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word):
983 2023-10-05 François Dumont <fdumont@gcc.gnu.org>
985 * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols
986 for _Float{16,32,64,128,32x,64x,128x}.
988 2023-10-04 Tom Tromey <tromey@adacore.com>
990 * python/libstdcxx/v6/printers.py
991 (StdExpAnyPrinter.__init__): Qualify call to
994 2023-10-04 Tom Tromey <tromey@adacore.com>
996 * python/libstdcxx/v6/printers.py: Assume that
997 _versioned_namespace is non-None.
998 * python/libstdcxx/v6/xmethods.py (is_specialization_of):
999 Assume that _versioned_namespace is non-None.
1001 2023-10-04 Tom Tromey <tromey@adacore.com>
1003 * python/libstdcxx/v6/xmethods.py (_versioned_namespace):
1006 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com>
1009 * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of
1010 surrogates in UTF-8.
1011 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8.
1012 (ucs4_in): Fix handling of range with odd number of bytes.
1013 (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16.
1014 (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16.
1015 (ucs2_in): Fix handling of range with odd number of bytes.
1016 (__codecvt_utf16_base<char16_t>::do_in): Likewise.
1017 (__codecvt_utf16_base<char32_t>::do_in): Likewise.
1018 (__codecvt_utf16_base<wchar_t>::do_in): Likewise.
1019 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add
1020 tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>.
1021 * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8
1022 testing functions for char8_t, add more test cases for errors,
1023 add testing functions for codecvt_utf16.
1024 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc:
1025 Renames, add tests for codecvt_utf16<whchar_t>.
1026 * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06):
1028 * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New
1031 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com>
1033 * include/bits/basic_string.h: (basic_string(basic_string&&)):
1034 Activate _M_local_buf when needed.
1035 (basic_string(basic_string&&, const _Alloc&)): Likewise.
1036 * include/bits/basic_string.tcc: (basic_string::swap): Likewise.
1037 * include/std/variant: (__detail::__variant::__construct_n): New.
1038 (__detail::__variant::__emplace): Use __construct_n.
1040 2023-09-28 Tom Tromey <tromey@adacore.com>
1042 * python/libstdcxx/v6/printers.py (Printer.add_version)
1043 (add_one_template_type_printer)
1044 (FilteringTypePrinter.add_one_type_printer): Use Python
1047 2023-09-28 Tom Tromey <tromey@adacore.com>
1049 * python/libstdcxx/v6/printers.py (std_ratio_t_tuple):
1052 2023-09-28 Tom Tromey <tromey@adacore.com>
1054 * python/libstdcxx/v6/printers.py
1055 (StdExpOptionalPrinter.__init__, lookup_node_type):
1056 Remove unused variables.
1058 2023-09-28 Tom Tromey <tromey@adacore.com>
1060 * python/libstdcxx/v6/printers.py: Don't import 'os'.
1061 * python/libstdcxx/v6/__init__.py: Don't import 'gdb'.
1063 2023-09-28 Tom Tromey <tromey@adacore.com>
1065 * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter
1066 everywhere. Rename members to start with "_".
1068 2023-09-28 Tom Tromey <tromey@adacore.com>
1070 * testsuite/lib/gdb-test.exp (gdb-test): Enable Python
1071 stack traces from gdb.
1073 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1075 * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define
1077 (ArrayMethodsMatcher, DequeMethodsMatcher)
1078 (ForwardListMethodsMatcher, ListMethodsMatcher)
1079 (VectorMethodsMatcher, AssociativeContainerMethodsMatcher)
1080 (UniquePtrGetWorker, UniquePtrMethodsMatcher)
1081 (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use
1082 is_specialization_of instead of re.match.
1084 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1086 * python/libstdcxx/v6/printers.py: Break long lines. Use raw
1087 strings for regular expressions. Add whitespace around
1089 (is_member_of_namespace): Use isinstance to check type.
1090 (is_specialization_of): Likewise. Adjust template_name
1091 for versioned namespace instead of duplicating the re.match
1093 (StdExpAnyPrinter._string_types): New static method.
1094 (StdExpAnyPrinter.to_string): Use _string_types.
1096 2023-09-28 Jonathan Wakely <jwakely@redhat.com>
1098 * python/libstdcxx/v6/printers.py: Format docstrings according
1100 * python/libstdcxx/v6/xmethods.py: Likewise.
1102 2023-09-28 Tim Song <t.canens.cpp@gmail.com>
1105 * include/bits/hashtable_policy.h
1106 (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v())
1107 Add [[__gnu__::__always_inline__]].
1109 2023-09-27 Jonathan Wakely <jwakely@redhat.com>
1111 * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter):
1112 Fix incorrect number of replacement fields.
1114 2023-09-26 Hans-Peter Nilsson <hp@axis.com>
1116 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add
1117 dg-require-thread-fence.
1119 2023-09-25 Patrick Palka <ppalka@redhat.com>
1121 * include/std/charconv (__detail::__integer_to_chars_result_type):
1123 (__detail::__to_chars_16): Use to_chars_result as return type.
1124 (__detail::__to_chars_10): Likewise.
1125 (__detail::__to_chars_8): Likewise.
1126 (__detail::__to_chars_2): Likewise.
1127 (__detail::__to_chars_i): Likewise.
1128 (__detail::__integer_from_chars_result_type): Inline the
1130 (from_chars): ... here. Use __is_standard_integer in the
1131 constraint. Encode constraint as a defaulted non-type template
1132 parameter instead of within the return type.
1134 2023-09-25 John David Anglin <danglin@gcc.gnu.org>
1136 * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update.
1138 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
1142 * include/std/array (to_array): Cast memcpy arguments to void*.
1143 * testsuite/23_containers/array/creation/111512.cc: New test.
1145 2023-09-25 Jonathan Wakely <jwakely@redhat.com>
1147 * include/bits/move.h (forward_list): Define for C++23.
1148 * include/bits/version.def (forward_like): Define.
1149 * include/bits/version.h: Regenerate.
1150 * include/std/utility (__glibcxx_want_forward_like): Define.
1151 * testsuite/20_util/forward_like/1.cc: New test.
1152 * testsuite/20_util/forward_like/2_neg.cc: New test.
1153 * testsuite/20_util/forward_like/version.cc: New test.
1155 2023-09-19 Marek Polacek <polacek@redhat.com>
1157 * testsuite/20_util/allocator/105975.cc: Add dg-error.
1159 2023-09-18 Patrick Palka <ppalka@redhat.com>
1163 * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc:
1164 Make data member seed_seq::called mutable.
1165 * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc:
1167 * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc:
1169 * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc:
1171 * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc:
1173 * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc:
1175 * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc:
1178 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1180 * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status.
1181 * doc/html/manual/status.html: Regenerate.
1183 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1185 * doc/xml/manual/configure.xml: Use conventional option name.
1186 * doc/xml/manual/status_cxx2020.xml: Update.
1187 * doc/xml/manual/status_cxx2023.xml: Update.
1188 * doc/html/*: Regenerate.
1190 2023-09-18 Jonathan Wakely <jwakely@redhat.com>
1192 * doc/xml/manual/intro.xml: Clarify that building libstdc++
1193 separately from GCC is not supported.
1194 * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for
1196 * doc/html/manual/setup.html: Regenerate.
1198 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1200 * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not
1201 restrict to pthreads targets.
1202 * testsuite/30_threads/jthread/3.cc: Likewise.
1203 * testsuite/30_threads/semaphore/100806.cc: Likewise.
1204 * testsuite/30_threads/semaphore/try_acquire.cc: Likewise.
1205 * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise.
1206 * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise.
1208 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1210 * testsuite/18_support/coroutines/95917.cc: Remove dg-options
1212 * testsuite/18_support/coroutines/hash.cc: Likewise.
1213 * testsuite/18_support/coroutines/lwg3460.cc: Likewise.
1214 * testsuite/18_support/destroying_delete.cc: Likewise.
1215 * testsuite/18_support/source_location/1.cc: Likewise.
1216 * testsuite/18_support/source_location/consteval.cc: Likewise.
1217 * testsuite/18_support/source_location/version.cc: Likewise.
1218 * testsuite/19_diagnostics/error_category/operators/three_way.cc:
1220 * testsuite/19_diagnostics/error_code/operators/three_way.cc:
1222 * testsuite/19_diagnostics/error_condition/operators/three_way.cc:
1224 * testsuite/19_diagnostics/stacktrace/output.cc: Likewise.
1225 * testsuite/26_numerics/adjacent_difference/lwg2055.cc:
1227 * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise.
1228 * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise.
1229 * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise.
1230 * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise.
1231 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise.
1232 * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc:
1234 * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
1236 * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
1238 * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise.
1239 * testsuite/experimental/filesystem/iterators/106201.cc:
1241 * testsuite/experimental/scopeguard/exit.cc: Likewise.
1242 * testsuite/experimental/scopeguard/uniqueres.cc: Likewise.
1244 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1246 * testsuite/30_threads/barrier/1.cc: Remove dg-options
1248 * testsuite/30_threads/barrier/2.cc: Likewise.
1249 * testsuite/30_threads/barrier/arrive.cc: Likewise.
1250 * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise.
1251 * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise.
1252 * testsuite/30_threads/barrier/completion.cc: Likewise.
1253 * testsuite/30_threads/condition_variable/members/clock_neg.cc:
1255 * testsuite/30_threads/condition_variable_any/members/clock_neg.cc:
1257 * testsuite/30_threads/condition_variable_any/stop_token/1.cc:
1259 * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
1261 * testsuite/30_threads/future/members/clock_neg.cc: Likewise.
1262 * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise.
1263 * testsuite/30_threads/headers/thread/types_std_c++20.cc:
1265 * testsuite/30_threads/jthread/1.cc: Likewise.
1266 * testsuite/30_threads/jthread/100612.cc: Likewise.
1267 * testsuite/30_threads/jthread/95989.cc: Likewise.
1268 * testsuite/30_threads/jthread/jthread.cc: Likewise.
1269 * testsuite/30_threads/jthread/version.cc: Likewise.
1270 * testsuite/30_threads/latch/1.cc: Likewise.
1271 * testsuite/30_threads/latch/2.cc: Likewise.
1272 * testsuite/30_threads/latch/3.cc: Likewise.
1273 * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
1275 * testsuite/30_threads/semaphore/1.cc: Likewise.
1276 * testsuite/30_threads/semaphore/2.cc: Likewise.
1277 * testsuite/30_threads/semaphore/least_max_value_neg.cc:
1279 * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
1280 * testsuite/30_threads/shared_future/members/clock_neg.cc:
1282 * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
1284 * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
1286 * testsuite/30_threads/stop_token/1.cc: Likewise.
1287 * testsuite/30_threads/stop_token/2.cc: Likewise.
1288 * testsuite/30_threads/stop_token/stop_callback.cc: Likewise.
1289 * testsuite/30_threads/stop_token/stop_callback/deadlock.cc:
1291 * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc:
1293 * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc:
1295 * testsuite/30_threads/stop_token/stop_callback/invoke.cc:
1297 * testsuite/30_threads/stop_token/stop_source.cc: Likewise.
1298 * testsuite/30_threads/stop_token/stop_source/assign.cc:
1300 * testsuite/30_threads/stop_token/stop_token.cc: Likewise.
1301 * testsuite/30_threads/stop_token/stop_token/stop_possible.cc:
1303 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
1304 * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
1306 * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
1309 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1311 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc:
1312 Remove dg-options -std=gnu++2a.
1313 * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc:
1315 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc:
1317 * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc:
1319 * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise.
1320 * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc:
1322 * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise.
1323 * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc:
1325 * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise.
1326 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1328 * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
1329 * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc:
1331 * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc:
1333 * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise.
1334 * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc:
1336 * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise.
1337 * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc:
1339 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1340 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1342 * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise.
1343 * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise.
1344 * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise.
1345 * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise.
1346 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1347 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1348 * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise.
1349 * testsuite/27_io/basic_stringstream/cons/char/97719.cc:
1351 * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc:
1353 * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise.
1354 * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc:
1356 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1357 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1359 * testsuite/27_io/basic_syncbuf/1.cc: Likewise.
1360 * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
1361 * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise.
1362 * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise.
1363 * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise.
1364 * testsuite/27_io/basic_syncstream/1.cc: Likewise.
1365 * testsuite/27_io/basic_syncstream/2.cc: Likewise.
1366 * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise.
1367 * testsuite/27_io/basic_syncstream/requirements/types.cc:
1369 * testsuite/27_io/filesystem/iterators/106201.cc: Likewise.
1370 * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise.
1371 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc:
1373 * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc:
1376 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1378 * testsuite/26_numerics/accumulate/constexpr.cc: Remove
1379 dg-options -std=gnu++2a.
1380 * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise.
1381 * testsuite/26_numerics/adjacent_difference/constexpr.cc:
1383 * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise.
1384 * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise.
1385 * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise.
1386 * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise.
1387 * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc:
1389 * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise.
1390 * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise.
1391 * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise.
1392 * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise.
1393 * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise.
1394 * testsuite/26_numerics/bit/header-2.cc: Likewise.
1395 * testsuite/26_numerics/bit/header.cc: Likewise.
1396 * testsuite/26_numerics/complex/1.cc: Likewise.
1397 * testsuite/26_numerics/complex/2.cc: Likewise.
1398 * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc:
1400 * testsuite/26_numerics/complex/operators/more_constexpr.cc:
1402 * testsuite/26_numerics/complex/requirements/more_constexpr.cc:
1404 * testsuite/26_numerics/complex/value_operations/more_constexpr.cc:
1406 * testsuite/26_numerics/endian/1.cc: Likewise.
1407 * testsuite/26_numerics/endian/2.cc: Likewise.
1408 * testsuite/26_numerics/endian/3.cc: Likewise.
1409 * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise.
1410 * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise.
1411 * testsuite/26_numerics/inner_product/constexpr.cc: Likewise.
1412 * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise.
1413 * testsuite/26_numerics/iota/constexpr.cc: Likewise.
1414 * testsuite/26_numerics/lerp/1.cc: Likewise.
1415 * testsuite/26_numerics/lerp/constexpr.cc: Likewise.
1416 * testsuite/26_numerics/lerp/version.cc: Likewise.
1417 * testsuite/26_numerics/midpoint/floating.cc: Likewise.
1418 * testsuite/26_numerics/midpoint/integral.cc: Likewise.
1419 * testsuite/26_numerics/midpoint/pointer.cc: Likewise.
1420 * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise.
1421 * testsuite/26_numerics/midpoint/version.cc: Likewise.
1422 * testsuite/26_numerics/numbers/1.cc: Likewise.
1423 * testsuite/26_numerics/numbers/2.cc: Likewise.
1424 * testsuite/26_numerics/numbers/3.cc: Likewise.
1425 * testsuite/26_numerics/numbers/float128.cc: Likewise.
1426 * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise.
1427 * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise.
1428 * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise.
1429 * testsuite/26_numerics/random/concept.cc: Likewise.
1430 * testsuite/26_numerics/reduce/constexpr.cc: Likewise.
1431 * testsuite/26_numerics/slice/compare.cc: Likewise.
1432 * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc:
1434 * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc:
1436 * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise.
1438 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1440 * testsuite/24_iterators/aliases.cc: Remove dg-options
1442 * testsuite/24_iterators/associated_types/incrementable.traits.cc:
1444 * testsuite/24_iterators/associated_types/iterator.traits.cc:
1446 * testsuite/24_iterators/associated_types/readable.traits.cc:
1448 * testsuite/24_iterators/back_insert_iterator/constexpr.cc:
1450 * testsuite/24_iterators/back_insert_iterator/pr93884.cc:
1452 * testsuite/24_iterators/bidirectional/concept.cc: Likewise.
1453 * testsuite/24_iterators/common_iterator/1.cc: Likewise.
1454 * testsuite/24_iterators/common_iterator/100823.cc: Likewise.
1455 * testsuite/24_iterators/common_iterator/2.cc: Likewise.
1456 * testsuite/24_iterators/contiguous/concept.cc: Likewise.
1457 * testsuite/24_iterators/contiguous/tag.cc: Likewise.
1458 * testsuite/24_iterators/counted_iterator/1.cc: Likewise.
1459 * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise.
1460 * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise.
1461 * testsuite/24_iterators/customization_points/92894.cc:
1463 * testsuite/24_iterators/customization_points/iter_move.cc:
1465 * testsuite/24_iterators/customization_points/iter_swap.cc:
1467 * testsuite/24_iterators/customization_points/lwg3420.cc:
1469 * testsuite/24_iterators/forward/concept.cc: Likewise.
1470 * testsuite/24_iterators/front_insert_iterator/constexpr.cc:
1472 * testsuite/24_iterators/front_insert_iterator/pr93884.cc:
1474 * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc:
1476 * testsuite/24_iterators/indirect_callable/92894.cc: Likewise.
1477 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
1479 * testsuite/24_iterators/indirect_callable/projected.cc:
1481 * testsuite/24_iterators/input/concept.cc: Likewise.
1482 * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise.
1483 * testsuite/24_iterators/istream_iterator/cons/sentinel.cc:
1485 * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise.
1486 * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
1488 * testsuite/24_iterators/istreambuf_iterator/sentinel.cc:
1490 * testsuite/24_iterators/move_iterator/cust.cc: Likewise.
1491 * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise.
1492 * testsuite/24_iterators/move_iterator/input_iterator.cc:
1494 * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise.
1495 * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise.
1496 * testsuite/24_iterators/move_iterator/move_only.cc: Likewise.
1497 * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise.
1498 * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc:
1500 * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise.
1501 * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise.
1502 * testsuite/24_iterators/output/concept.cc: Likewise.
1503 * testsuite/24_iterators/random_access/concept.cc: Likewise.
1504 * testsuite/24_iterators/range_access/range_access_cpp20.cc:
1506 * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
1508 * testsuite/24_iterators/range_operations/100768.cc: Likewise.
1509 * testsuite/24_iterators/range_operations/advance.cc: Likewise.
1510 * testsuite/24_iterators/range_operations/advance_overflow.cc:
1512 * testsuite/24_iterators/range_operations/distance.cc: Likewise.
1513 * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise.
1514 * testsuite/24_iterators/range_operations/next.cc: Likewise.
1515 * testsuite/24_iterators/range_operations/prev.cc: Likewise.
1516 * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise.
1517 * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise.
1518 * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc:
1521 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1523 * testsuite/23_containers/array/comparison_operators/96851.cc:
1524 Remove dg-options -std=gnu++2a.
1525 * testsuite/23_containers/array/comparison_operators/constexpr.cc:
1527 * testsuite/23_containers/array/creation/1.cc: Likewise.
1528 * testsuite/23_containers/array/creation/110167.cc: Likewise.
1529 * testsuite/23_containers/array/creation/2.cc: Likewise.
1530 * testsuite/23_containers/array/creation/3_neg.cc: Likewise.
1531 * testsuite/23_containers/array/requirements/constexpr_fill.cc:
1533 * testsuite/23_containers/array/requirements/constexpr_swap.cc:
1535 * testsuite/23_containers/deque/48101-3_neg.cc: Likewise.
1536 * testsuite/23_containers/deque/erasure.cc: Likewise.
1537 * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc:
1539 * testsuite/23_containers/deque/operators/cmp_c++20.cc:
1541 * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise.
1542 * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise.
1543 * testsuite/23_containers/forward_list/erasure.cc: Likewise.
1544 * testsuite/23_containers/forward_list/modifiers/92878_92947.cc:
1546 * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc:
1548 * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc:
1550 * testsuite/23_containers/list/48101-3_neg.cc: Likewise.
1551 * testsuite/23_containers/list/cmp_c++20.cc: Likewise.
1552 * testsuite/23_containers/list/erasure.cc: Likewise.
1553 * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc:
1555 * testsuite/23_containers/list/operations/remove_cxx20_return.cc:
1557 * testsuite/23_containers/list/operations/unique_cxx20_return.cc:
1559 * testsuite/23_containers/map/48101-3_neg.cc: Likewise.
1560 * testsuite/23_containers/map/erasure.cc: Likewise.
1561 * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc:
1563 * testsuite/23_containers/map/operations/contains.cc: Likewise.
1564 * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise.
1565 * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise.
1566 * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc:
1568 * testsuite/23_containers/multimap/operations/contains.cc:
1570 * testsuite/23_containers/multimap/operators/cmp_c++20.cc:
1572 * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise.
1573 * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc:
1575 * testsuite/23_containers/multiset/operations/contains.cc:
1577 * testsuite/23_containers/multiset/operators/cmp_c++20.cc:
1579 * testsuite/23_containers/priority_queue/92878_92947.cc:
1581 * testsuite/23_containers/queue/92878_92947.cc: Likewise.
1582 * testsuite/23_containers/queue/cmp_c++20.cc: Likewise.
1583 * testsuite/23_containers/set/48101-3_neg.cc: Likewise.
1584 * testsuite/23_containers/set/erasure.cc: Likewise.
1585 * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc:
1587 * testsuite/23_containers/set/operations/contains.cc: Likewise.
1588 * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise.
1589 * testsuite/23_containers/span/1.cc: Likewise.
1590 * testsuite/23_containers/span/101411.cc: Likewise.
1591 * testsuite/23_containers/span/2.cc: Likewise.
1592 * testsuite/23_containers/span/deduction.cc: Likewise.
1593 * testsuite/23_containers/span/explicit.cc: Likewise.
1594 * testsuite/23_containers/span/layout_compat.cc: Likewise.
1595 * testsuite/23_containers/span/lwg3255.cc: Likewise.
1596 * testsuite/23_containers/span/nothrow_cons.cc: Likewise.
1597 * testsuite/23_containers/span/trivially_copyable.cc: Likewise.
1598 * testsuite/23_containers/stack/92878_92947.cc: Likewise.
1599 * testsuite/23_containers/stack/cmp_c++20.cc: Likewise.
1600 * testsuite/23_containers/unordered_map/48101-3_neg.cc:
1602 * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
1603 * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc:
1605 * testsuite/23_containers/unordered_map/operations/1.cc:
1607 * testsuite/23_containers/unordered_map/operations/contains.cc:
1609 * testsuite/23_containers/unordered_multimap/48101-3_neg.cc:
1611 * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc:
1613 * testsuite/23_containers/unordered_multimap/operations/1.cc:
1615 * testsuite/23_containers/unordered_multimap/operations/contains.cc:
1617 * testsuite/23_containers/unordered_multiset/48101-3_neg.cc:
1619 * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc:
1621 * testsuite/23_containers/unordered_multiset/operations/1.cc:
1623 * testsuite/23_containers/unordered_multiset/operations/contains.cc:
1625 * testsuite/23_containers/unordered_set/48101-3_neg.cc:
1627 * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
1628 * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc:
1630 * testsuite/23_containers/unordered_set/operations/1.cc:
1632 * testsuite/23_containers/unordered_set/operations/contains.cc:
1634 * testsuite/23_containers/vector/48101-3_neg.cc: Likewise.
1635 * testsuite/23_containers/vector/bool/capacity/constexpr.cc:
1637 * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise.
1638 * testsuite/23_containers/vector/bool/cons/constexpr.cc:
1640 * testsuite/23_containers/vector/bool/element_access/constexpr.cc:
1642 * testsuite/23_containers/vector/bool/iterator_c++20.cc:
1644 * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc:
1646 * testsuite/23_containers/vector/bool/modifiers/constexpr.cc:
1648 * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc:
1650 * testsuite/23_containers/vector/capacity/constexpr.cc:
1652 * testsuite/23_containers/vector/cmp_c++20.cc: Likewise.
1653 * testsuite/23_containers/vector/cons/constexpr.cc: Likewise.
1654 * testsuite/23_containers/vector/data_access/constexpr.cc:
1656 * testsuite/23_containers/vector/element_access/constexpr.cc:
1658 * testsuite/23_containers/vector/erasure.cc: Likewise.
1659 * testsuite/23_containers/vector/modifiers/assign/constexpr.cc:
1661 * testsuite/23_containers/vector/modifiers/constexpr.cc:
1663 * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc:
1665 * testsuite/23_containers/vector/modifiers/swap/constexpr.cc:
1667 * testsuite/23_containers/vector/requirements/version.cc:
1670 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1672 * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove
1673 dg-options -std=gnu++20.
1674 * testsuite/21_strings/basic_string/cons/char/constexpr.cc:
1676 * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc:
1678 * testsuite/21_strings/basic_string/erasure.cc: Likewise.
1679 * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
1681 * testsuite/21_strings/basic_string/literals/constexpr.cc:
1683 * testsuite/21_strings/basic_string/modifiers/constexpr.cc:
1685 * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
1687 * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
1689 * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
1691 * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
1693 * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
1695 * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
1697 * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
1699 * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
1701 * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc:
1703 * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc:
1705 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1707 * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
1709 * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc:
1711 * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
1713 * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
1715 * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
1717 * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
1719 * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
1721 * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
1723 * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc:
1725 * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc:
1727 * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc:
1729 * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc:
1732 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1734 * testsuite/20_util/allocator/105975.cc: Remove dg-options
1736 * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
1737 * testsuite/20_util/allocator/requirements/constexpr.cc:
1739 * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
1741 * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
1742 * testsuite/20_util/allocator_traits/header.cc: Likewise.
1743 * testsuite/20_util/allocator_traits/members/92878_92947.cc:
1745 * testsuite/20_util/any/assign/92878_92947.cc: Likewise.
1746 * testsuite/20_util/any/cons/92878_92947.cc: Likewise.
1747 * testsuite/20_util/assume_aligned/1.cc: Likewise.
1748 * testsuite/20_util/assume_aligned/2_neg.cc: Likewise.
1749 * testsuite/20_util/assume_aligned/3.cc: Likewise.
1750 * testsuite/20_util/assume_aligned/97132.cc: Likewise.
1751 * testsuite/20_util/bind/constexpr.cc: Likewise.
1752 * testsuite/20_util/bitset/operations/96303.cc: Likewise.
1753 * testsuite/20_util/common_reference/100894.cc: Likewise.
1754 * testsuite/20_util/common_reference/requirements/alias_decl.cc:
1756 * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc:
1758 * testsuite/20_util/common_reference/requirements/typedefs.cc:
1760 * testsuite/20_util/duration/comparison_operators/three_way.cc:
1762 * testsuite/20_util/exchange/constexpr.cc: Likewise.
1763 * testsuite/20_util/exchange/noexcept.cc: Likewise.
1764 * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise.
1765 * testsuite/20_util/from_chars/compare.cc: Likewise.
1766 * testsuite/20_util/function_objects/bind_front/1.cc: Likewise.
1767 * testsuite/20_util/function_objects/bind_front/107784.cc:
1769 * testsuite/20_util/function_objects/bind_front/111327.cc:
1771 * testsuite/20_util/function_objects/bind_front/2.cc: Likewise.
1772 * testsuite/20_util/function_objects/bind_front/97101.cc:
1774 * testsuite/20_util/function_objects/bind_front/constexpr.cc:
1776 * testsuite/20_util/function_objects/constexpr_searcher.cc:
1778 * testsuite/20_util/function_objects/identity/1.cc: Likewise.
1779 * testsuite/20_util/function_objects/invoke/constexpr.cc:
1781 * testsuite/20_util/function_objects/mem_fn/constexpr.cc:
1783 * testsuite/20_util/function_objects/not_fn/constexpr.cc:
1785 * testsuite/20_util/integer_comparisons/1.cc: Likewise.
1786 * testsuite/20_util/integer_comparisons/2.cc: Likewise.
1787 * testsuite/20_util/integer_comparisons/equal.cc: Likewise.
1788 * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise.
1789 * testsuite/20_util/integer_comparisons/greater.cc: Likewise.
1790 * testsuite/20_util/integer_comparisons/greater_equal.cc:
1792 * testsuite/20_util/integer_comparisons/greater_equal_neg.cc:
1794 * testsuite/20_util/integer_comparisons/greater_neg.cc:
1796 * testsuite/20_util/integer_comparisons/in_range.cc: Likewise.
1797 * testsuite/20_util/integer_comparisons/in_range_neg.cc:
1799 * testsuite/20_util/integer_comparisons/less.cc: Likewise.
1800 * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise.
1801 * testsuite/20_util/integer_comparisons/less_equal_neg.cc:
1803 * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise.
1804 * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise.
1805 * testsuite/20_util/integer_comparisons/not_equal_neg.cc:
1807 * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc:
1809 * testsuite/20_util/is_bounded_array/requirements/typedefs.cc:
1811 * testsuite/20_util/is_bounded_array/value.cc: Likewise.
1812 * testsuite/20_util/is_constant_evaluated/1.cc: Likewise.
1813 * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise.
1814 * testsuite/20_util/is_constructible/92878_92947.cc: Likewise.
1815 * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc:
1817 * testsuite/20_util/is_layout_compatible/value.cc: Likewise.
1818 * testsuite/20_util/is_layout_compatible/version.cc: Likewise.
1819 * testsuite/20_util/is_nothrow_constructible/value_c++20.cc:
1821 * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc:
1823 * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc:
1825 * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise.
1826 * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise.
1827 * testsuite/20_util/is_pointer_interconvertible/value.cc:
1829 * testsuite/20_util/is_pointer_interconvertible/version.cc:
1831 * testsuite/20_util/is_pointer_interconvertible/with_class.cc:
1833 * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc:
1835 * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc:
1837 * testsuite/20_util/is_unbounded_array/value.cc: Likewise.
1838 * testsuite/20_util/optional/assignment/92878_92947.cc:
1840 * testsuite/20_util/optional/cons/92878_92947.cc: Likewise.
1841 * testsuite/20_util/optional/constexpr/assign.cc: Likewise.
1842 * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise.
1843 * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise.
1844 * testsuite/20_util/optional/constexpr/swap.cc: Likewise.
1845 * testsuite/20_util/optional/relops/96269.cc: Likewise.
1846 * testsuite/20_util/optional/relops/three_way.cc: Likewise.
1847 * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc:
1849 * testsuite/20_util/pair/cons/92878_92947.cc: Likewise.
1850 * testsuite/20_util/pair/constexpr_assign.cc: Likewise.
1851 * testsuite/20_util/pair/constexpr_swap.cc: Likewise.
1852 * testsuite/20_util/pair/requirements/structural.cc: Likewise.
1853 * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc:
1855 * testsuite/20_util/polymorphic_allocator/allocate_object.cc:
1857 * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc:
1859 * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise.
1860 * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise.
1861 * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise.
1862 * testsuite/20_util/remove_cvref/requirements/alias_decl.cc:
1864 * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc:
1866 * testsuite/20_util/remove_cvref/value.cc: Likewise.
1867 * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc:
1869 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
1871 * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
1872 * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
1874 * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
1875 * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
1877 * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
1878 * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
1879 * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
1880 * testsuite/20_util/time_point/4.cc: Likewise.
1881 * testsuite/20_util/time_point/comparison_operators/three_way.cc:
1883 * testsuite/20_util/to_address/1.cc: Likewise.
1884 * testsuite/20_util/to_address/1_neg.cc: Likewise.
1885 * testsuite/20_util/to_address/debug.cc: Likewise.
1886 * testsuite/20_util/to_address/lwg3545.cc: Likewise.
1887 * testsuite/20_util/to_chars/compare.cc: Likewise.
1888 * testsuite/20_util/tuple/comparison_operators/three_way.cc:
1890 * testsuite/20_util/tuple/cons/102270.cc: Likewise.
1891 * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
1893 * testsuite/20_util/tuple/constexpr_swap.cc: Likewise.
1894 * testsuite/20_util/type_identity/requirements/alias_decl.cc:
1896 * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc:
1898 * testsuite/20_util/type_identity/requirements/typedefs.cc:
1900 * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
1902 * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc:
1904 * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
1906 * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
1908 * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
1910 * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise.
1911 * testsuite/20_util/unwrap_reference/1.cc: Likewise.
1912 * testsuite/20_util/unwrap_reference/2.cc: Likewise.
1913 * testsuite/20_util/unwrap_reference/3.cc: Likewise.
1914 * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
1915 * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise.
1916 * testsuite/20_util/uses_allocator/make_obj.cc: Likewise.
1917 * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
1919 * testsuite/20_util/variant/92878_92947.cc: Likewise.
1920 * testsuite/20_util/variant/95915.cc: Likewise.
1921 * testsuite/20_util/variant/constexpr.cc: Likewise.
1922 * testsuite/20_util/variant/relops/three_way.cc: Likewise.
1923 * testsuite/20_util/variant/visit_neg.cc: Likewise.
1924 * testsuite/20_util/variant/visit_r.cc: Likewise.
1925 * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
1927 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1929 * testsuite/18_support/comparisons/algorithms/fallback.cc:
1930 Remove dg-options -std=gnu++2a.
1931 * testsuite/18_support/comparisons/algorithms/partial_order.cc:
1933 * testsuite/18_support/comparisons/algorithms/strong_order.cc:
1935 * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
1937 * testsuite/18_support/comparisons/algorithms/weak_order.cc:
1939 * testsuite/18_support/comparisons/categories/94565.cc:
1941 * testsuite/18_support/comparisons/categories/partialord.cc:
1943 * testsuite/18_support/comparisons/categories/strongord.cc:
1945 * testsuite/18_support/comparisons/categories/weakord.cc:
1947 * testsuite/18_support/comparisons/categories/zero_neg.cc:
1949 * testsuite/18_support/comparisons/common/1.cc: Likewise.
1950 * testsuite/18_support/comparisons/object/93479.cc: Likewise.
1951 * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise.
1953 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1955 * testsuite/29_atomics/atomic/compare_exchange_padding.cc:
1956 Remove dg-options -std=gnu++2a.
1957 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
1958 * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise.
1959 * testsuite/29_atomics/atomic/requirements/types_neg.cc:
1961 * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
1962 * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise.
1963 * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
1964 * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
1965 * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise.
1966 * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise.
1967 * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise.
1968 * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise.
1969 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise.
1970 * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise.
1971 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise.
1972 * testsuite/29_atomics/atomic_float/1.cc: Likewise.
1973 * testsuite/29_atomics/atomic_float/95282.cc: Likewise.
1974 * testsuite/29_atomics/atomic_float/requirements.cc: Likewise.
1975 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
1976 * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise.
1977 * testsuite/29_atomics/atomic_integral/cons/value_init.cc:
1979 * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise.
1980 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
1982 * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise.
1983 * testsuite/29_atomics/atomic_ref/float.cc: Likewise.
1984 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
1985 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
1986 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
1987 * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise.
1988 * testsuite/29_atomics/headers/atomic/types_std_c++20.cc:
1990 * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc:
1992 * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc:
1994 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
1997 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
1999 * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test.
2000 * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test.
2002 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2004 * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New
2006 * config.h.in: Regenerate.
2007 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new
2008 basic_filebuf members.
2009 * config/io/basic_file_stdio.cc (__basic_file::native_handle):
2010 Define new function.
2011 * config/io/basic_file_stdio.h (__basic_file::native_handle):
2012 Declare new function.
2013 * configure: Regenerate.
2014 * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES.
2015 * include/bits/version.def (fstream_native_handles): New macro.
2016 * include/bits/version.h: Regenerate.
2017 * include/std/fstream (basic_filebuf::native_handle)
2018 (basic_fstream::native_handle, basic_ifstream::native_handle)
2019 (basic_ofstream::native_handle): New functions.
2020 * src/c++11/Makefile.am: Move compilation of basic_file.cc,
2021 locale_init.cc and localename.cc to here.
2022 * src/c++11/Makefile.in: Regenerate.
2023 * src/c++98/locale_init.cc: Moved to...
2024 * src/c++11/locale_init.cc: ...here.
2025 * src/c++98/localename.cc: Moved to...
2026 * src/c++11/localename.cc: ...here.
2027 * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc
2028 and localename.cc from here.
2029 * src/c++98/Makefile.in: Regenerate.
2030 * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test.
2031 * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test.
2032 * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test.
2033 * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test.
2034 * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test.
2035 * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test.
2036 * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test.
2038 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2040 * testsuite/libstdc++-dg/conformance.exp: Add log line when
2041 using testsuite_files.
2043 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2045 * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg
2047 * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc:
2049 * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc:
2051 * testsuite/20_util/synchronized_pool_resource/allocate.cc:
2053 * testsuite/20_util/synchronized_pool_resource/allocate_single.cc:
2055 * testsuite/20_util/synchronized_pool_resource/cons.cc:
2057 * testsuite/20_util/synchronized_pool_resource/cons_single.cc:
2059 * testsuite/20_util/synchronized_pool_resource/is_equal.cc:
2061 * testsuite/20_util/synchronized_pool_resource/multithreaded.cc:
2063 * testsuite/20_util/synchronized_pool_resource/options.cc:
2065 * testsuite/20_util/synchronized_pool_resource/release.cc:
2067 * testsuite/20_util/synchronized_pool_resource/release_single.cc:
2069 * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc:
2071 * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc:
2073 * testsuite/30_threads/stop_token/stop_callback/destroy.cc:
2076 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2078 * testsuite/23_containers/span/back_assert_neg.cc: Remove
2079 dg-options and add effective target selector to dg-do. Add
2081 * testsuite/23_containers/span/back_neg.cc: Likewise.
2082 * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise.
2083 * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise.
2084 * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise.
2085 * testsuite/23_containers/span/first_assert_neg.cc: Likewise.
2086 * testsuite/23_containers/span/first_neg.cc: Likewise.
2087 * testsuite/23_containers/span/front_assert_neg.cc: Likewise.
2088 * testsuite/23_containers/span/front_neg.cc: Likewise.
2089 * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise.
2090 * testsuite/23_containers/span/index_op_neg.cc: Likewise.
2091 * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise.
2092 * testsuite/23_containers/span/last_assert_neg.cc: Likewise.
2093 * testsuite/23_containers/span/last_neg.cc: Likewise.
2094 * testsuite/23_containers/span/subspan_2_assert_neg.cc:
2096 * testsuite/23_containers/span/subspan_3_assert_neg.cc:
2098 * testsuite/23_containers/span/subspan_4_assert_neg.cc:
2100 * testsuite/23_containers/span/subspan_5_assert_neg.cc:
2102 * testsuite/23_containers/span/subspan_6_assert_neg.cc:
2104 * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise.
2105 * testsuite/23_containers/span/subspan_neg.cc: Likewise.
2106 * testsuite/24_iterators/range_operations/advance_debug_neg.cc:
2109 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2111 * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove
2113 * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise.
2114 * testsuite/18_support/type_info/constexpr.cc: Likewise.
2115 * testsuite/19_diagnostics/stacktrace/current.cc: Likewise.
2116 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
2117 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
2118 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise.
2119 * testsuite/19_diagnostics/stacktrace/version.cc: Likewise.
2120 * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise.
2121 * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise.
2122 * testsuite/20_util/bitset/access/constexpr.cc: Likewise.
2123 * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
2124 * testsuite/20_util/bitset/count/constexpr.cc: Likewise.
2125 * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
2126 * testsuite/20_util/bitset/operations/constexpr_c++23.cc:
2128 * testsuite/20_util/bitset/version.cc: Likewise.
2129 * testsuite/20_util/from_chars/8.cc: Likewise.
2130 * testsuite/20_util/from_chars/constexpr.cc: Likewise.
2131 * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
2132 * testsuite/20_util/function_objects/invoke/4.cc: Likewise.
2133 * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
2135 * testsuite/20_util/is_scoped_enum/value.cc: Likewise.
2136 * testsuite/20_util/is_scoped_enum/version.cc: Likewise.
2137 * testsuite/20_util/move_only_function/call.cc: Likewise.
2138 * testsuite/20_util/move_only_function/cons.cc: Likewise.
2139 * testsuite/20_util/move_only_function/move.cc: Likewise.
2140 * testsuite/20_util/move_only_function/version.cc: Likewise.
2141 * testsuite/20_util/optional/monadic/and_then.cc: Likewise.
2142 * testsuite/20_util/optional/monadic/or_else.cc: Likewise.
2143 * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise.
2144 * testsuite/20_util/optional/monadic/pr109242.cc: Likewise.
2145 * testsuite/20_util/optional/monadic/transform.cc: Likewise.
2146 * testsuite/20_util/pair/p2321r2.cc: Likewise.
2147 * testsuite/20_util/reference_from_temporary/value.cc: Likewise.
2148 * testsuite/20_util/reference_from_temporary/value2.cc:
2150 * testsuite/20_util/reference_from_temporary/version.cc:
2152 * testsuite/20_util/to_chars/constexpr.cc: Likewise.
2153 * testsuite/20_util/to_chars/float128_c++23.cc: Likewise.
2154 * testsuite/20_util/to_chars/float16_c++23.cc: Likewise.
2155 * testsuite/20_util/to_chars/version.cc: Likewise.
2156 * testsuite/20_util/to_underlying/1.cc: Likewise.
2157 * testsuite/20_util/to_underlying/version.cc: Likewise.
2158 * testsuite/20_util/tuple/p2321r2.cc: Likewise.
2159 * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise.
2160 * testsuite/20_util/unique_ptr/comparison/constexpr.cc:
2162 * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc:
2164 * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
2165 * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise.
2166 * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise.
2167 * testsuite/20_util/unreachable/1.cc: Likewise.
2168 * testsuite/20_util/unreachable/version.cc: Likewise.
2169 * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise.
2170 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise.
2171 * testsuite/21_strings/basic_string/operations/contains/char.cc:
2173 * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise.
2174 * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise.
2175 * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise.
2176 * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise.
2177 * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise.
2178 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise.
2179 * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise.
2180 * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise.
2181 * testsuite/23_containers/queue/cons_from_iters.cc: Likewise.
2182 * testsuite/23_containers/stack/cons_from_iters.cc: Likewise.
2183 * testsuite/23_containers/vector/bool/element_access/1.cc:
2185 * testsuite/24_iterators/const_iterator/1.cc: Likewise.
2186 * testsuite/25_algorithms/contains/1.cc: Likewise.
2187 * testsuite/25_algorithms/contains_subrange/1.cc: Likewise.
2188 * testsuite/25_algorithms/find_last/1.cc: Likewise.
2189 * testsuite/25_algorithms/find_last_if/1.cc: Likewise.
2190 * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise.
2191 * testsuite/25_algorithms/fold_left/1.cc: Likewise.
2192 * testsuite/25_algorithms/fold_right/1.cc: Likewise.
2193 * testsuite/25_algorithms/iota/1.cc: Likewise.
2194 * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise.
2195 * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise.
2196 * testsuite/26_numerics/complex/ext_c++23.cc: Likewise.
2197 * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise.
2198 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc:
2200 * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc:
2202 * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc:
2204 * testsuite/26_numerics/numbers/4.cc: Likewise.
2205 * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise.
2206 * testsuite/27_io/filesystem/path/native/conv_c++23.cc:
2208 * testsuite/27_io/spanstream/1.cc: Likewise.
2209 * testsuite/27_io/spanstream/2.cc: Likewise.
2210 * testsuite/27_io/spanstream/version.cc: Likewise.
2211 * testsuite/29_atomics/atomic_float/requirements_cxx23.cc:
2213 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
2215 * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
2216 * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
2218 * testsuite/experimental/filesystem/path/native/conv_c++23.cc:
2220 * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise.
2221 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc:
2223 * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise.
2224 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
2225 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
2226 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
2227 * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise.
2228 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
2229 * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise.
2230 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
2231 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
2232 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
2233 * testsuite/std/ranges/range_adaptor_closure.cc: Likewise.
2234 * testsuite/std/ranges/repeat/1.cc: Likewise.
2235 * testsuite/std/ranges/version_c++23.cc: Likewise.
2236 * testsuite/std/ranges/zip/1.cc: Likewise.
2237 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
2239 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2241 * testsuite/20_util/expected/assign.cc: Remove dg-options.
2242 * testsuite/20_util/expected/bad.cc: Likewise.
2243 * testsuite/20_util/expected/cons.cc: Likewise.
2244 * testsuite/20_util/expected/equality.cc: Likewise.
2245 * testsuite/20_util/expected/illformed_neg.cc: Likewise.
2246 * testsuite/20_util/expected/lwg3877.cc: Likewise.
2247 * testsuite/20_util/expected/lwg3938.cc: Likewise.
2248 * testsuite/20_util/expected/monadic.cc: Likewise.
2249 * testsuite/20_util/expected/observers.cc: Likewise.
2250 * testsuite/20_util/expected/requirements.cc: Likewise.
2251 * testsuite/20_util/expected/swap.cc: Likewise.
2252 * testsuite/20_util/expected/synopsis.cc: Likewise.
2253 * testsuite/20_util/expected/unexpected.cc: Likewise.
2254 * testsuite/20_util/expected/version.cc: Likewise.
2256 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2258 * testsuite/20_util/duration/arithmetic/overflow_c++20.cc:
2260 * testsuite/20_util/duration/io.cc: Likewise.
2261 * testsuite/std/time/clock/file/io.cc: Likewise.
2262 * testsuite/std/time/clock/file/members.cc: Likewise.
2263 * testsuite/std/time/clock/file/overview.cc: Likewise.
2264 * testsuite/std/time/clock/gps/1.cc: Likewise.
2265 * testsuite/std/time/clock/gps/io.cc: Likewise.
2266 * testsuite/std/time/clock/local/io.cc: Likewise.
2267 * testsuite/std/time/clock/system/io.cc: Likewise.
2268 * testsuite/std/time/clock/tai/1.cc: Likewise.
2269 * testsuite/std/time/clock/tai/io.cc: Likewise.
2270 * testsuite/std/time/clock/utc/1.cc: Likewise.
2271 * testsuite/std/time/clock/utc/io.cc: Likewise.
2272 * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise.
2273 * testsuite/std/time/day/1.cc: Likewise.
2274 * testsuite/std/time/day/io.cc: Likewise.
2275 * testsuite/std/time/exceptions.cc: Likewise.
2276 * testsuite/std/time/format.cc: Likewise.
2277 * testsuite/std/time/hh_mm_ss/1.cc: Likewise.
2278 * testsuite/std/time/hh_mm_ss/109772.cc: Likewise.
2279 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
2280 * testsuite/std/time/is_am/1.cc: Likewise.
2281 * testsuite/std/time/is_pm/1.cc: Likewise.
2282 * testsuite/std/time/make12/1.cc: Likewise.
2283 * testsuite/std/time/make24/1.cc: Likewise.
2284 * testsuite/std/time/month/1.cc: Likewise.
2285 * testsuite/std/time/month/io.cc: Likewise.
2286 * testsuite/std/time/month_day/1.cc: Likewise.
2287 * testsuite/std/time/month_day/io.cc: Likewise.
2288 * testsuite/std/time/month_day_last/1.cc: Likewise.
2289 * testsuite/std/time/month_day_last/io.cc: Likewise.
2290 * testsuite/std/time/month_weekday/1.cc: Likewise.
2291 * testsuite/std/time/month_weekday/io.cc: Likewise.
2292 * testsuite/std/time/month_weekday_last/1.cc: Likewise.
2293 * testsuite/std/time/month_weekday_last/io.cc: Likewise.
2294 * testsuite/std/time/parse.cc: Likewise.
2295 * testsuite/std/time/syn_c++20.cc: Likewise.
2296 * testsuite/std/time/time_zone/get_info_local.cc: Likewise.
2297 * testsuite/std/time/time_zone/get_info_sys.cc: Likewise.
2298 * testsuite/std/time/time_zone/requirements.cc: Likewise.
2299 * testsuite/std/time/traits/is_clock.cc: Likewise.
2300 * testsuite/std/time/tzdb/1.cc: Likewise.
2301 * testsuite/std/time/tzdb/leap_seconds.cc: Likewise.
2302 * testsuite/std/time/tzdb_list/1.cc: Likewise.
2303 * testsuite/std/time/tzdb_list/requirements.cc: Likewise.
2304 * testsuite/std/time/weekday/1.cc: Likewise.
2305 * testsuite/std/time/weekday/io.cc: Likewise.
2306 * testsuite/std/time/weekday_indexed/io.cc: Likewise.
2307 * testsuite/std/time/weekday_last/1.cc: Likewise.
2308 * testsuite/std/time/weekday_last/io.cc: Likewise.
2309 * testsuite/std/time/year/1.cc: Likewise.
2310 * testsuite/std/time/year/2.cc: Likewise.
2311 * testsuite/std/time/year/io.cc: Likewise.
2312 * testsuite/std/time/weekday_indexed/1.cc: Likewise.
2313 * testsuite/std/time/year_month/1.cc: Likewise.
2314 * testsuite/std/time/year_month/2.cc: Likewise.
2315 * testsuite/std/time/year_month/io.cc: Likewise.
2316 * testsuite/std/time/year_month_day/1.cc: Likewise.
2317 * testsuite/std/time/year_month_day/2.cc: Likewise.
2318 * testsuite/std/time/year_month_day/3.cc: Likewise.
2319 * testsuite/std/time/year_month_day/4.cc: Likewise.
2320 * testsuite/std/time/year_month_day/io.cc: Likewise.
2321 * testsuite/std/time/year_month_day_last/1.cc: Likewise.
2322 * testsuite/std/time/year_month_day_last/2.cc: Likewise.
2323 * testsuite/std/time/year_month_day_last/io.cc: Likewise.
2324 * testsuite/std/time/year_month_weekday/1.cc: Likewise.
2325 * testsuite/std/time/year_month_weekday/2.cc: Likewise.
2326 * testsuite/std/time/year_month_weekday/3.cc: Likewise.
2327 * testsuite/std/time/year_month_weekday/io.cc: Likewise.
2328 * testsuite/std/time/year_month_weekday_last/1.cc: Likewise.
2329 * testsuite/std/time/year_month_weekday_last/2.cc: Likewise.
2330 * testsuite/std/time/year_month_weekday_last/io.cc: Likewise.
2331 * testsuite/std/time/zoned_time/1.cc: Likewise.
2332 * testsuite/std/time/zoned_time/custom.cc: Likewise.
2333 * testsuite/std/time/zoned_time/deduction.cc: Likewise.
2334 * testsuite/std/time/zoned_time/io.cc: Likewise.
2335 * testsuite/std/time/zoned_time/req_neg.cc: Likewise.
2336 * testsuite/std/time/zoned_time/requirements.cc: Likewise.
2337 * testsuite/std/time/zoned_traits.cc: Likewise.
2339 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2341 * testsuite/std/format/arguments/args.cc: Remove dg-options.
2342 * testsuite/std/format/arguments/lwg3810.cc: Likewise.
2343 * testsuite/std/format/error.cc: Likewise.
2344 * testsuite/std/format/format_string.cc: Likewise.
2345 * testsuite/std/format/formatter/concept.cc: Likewise.
2346 * testsuite/std/format/formatter/ext_float.cc: Likewise.
2347 * testsuite/std/format/formatter/requirements.cc: Likewise.
2348 * testsuite/std/format/functions/107871.cc: Likewise.
2349 * testsuite/std/format/functions/format.cc: Likewise.
2350 * testsuite/std/format/functions/format_to.cc: Likewise.
2351 * testsuite/std/format/functions/format_to_n.cc: Likewise.
2352 * testsuite/std/format/functions/size.cc: Likewise.
2353 * testsuite/std/format/functions/vformat_to.cc: Likewise.
2354 * testsuite/std/format/parse_ctx.cc: Likewise.
2355 * testsuite/std/format/string.cc: Likewise.
2356 * testsuite/std/format/string_neg.cc: Likewise.
2357 * testsuite/std/format/functions/format_c++23.cc: Removed.
2359 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2361 * testsuite/20_util/function_objects/range.cmp/equal_to.cc:
2363 * testsuite/20_util/function_objects/range.cmp/greater.cc:
2365 * testsuite/20_util/function_objects/range.cmp/greater_equal.cc:
2367 * testsuite/20_util/function_objects/range.cmp/less.cc:
2369 * testsuite/20_util/function_objects/range.cmp/less_equal.cc:
2371 * testsuite/20_util/function_objects/range.cmp/lwg3530.cc:
2373 * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc:
2375 * testsuite/20_util/specialized_algorithms/construct_at/1.cc:
2377 * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc:
2379 * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
2381 * testsuite/20_util/specialized_algorithms/destroy/constrained.cc:
2383 * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc:
2385 * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc:
2387 * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc:
2389 * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc:
2391 * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc:
2393 * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc:
2395 * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc:
2397 * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise.
2398 * testsuite/25_algorithms/adjacent_find/constrained.cc:
2400 * testsuite/25_algorithms/all_of/constexpr.cc: Likewise.
2401 * testsuite/25_algorithms/all_of/constrained.cc: Likewise.
2402 * testsuite/25_algorithms/any_of/constexpr.cc: Likewise.
2403 * testsuite/25_algorithms/any_of/constrained.cc: Likewise.
2404 * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
2405 * testsuite/25_algorithms/binary_search/constrained.cc:
2407 * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
2408 * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
2409 * testsuite/25_algorithms/copy/95578.cc: Likewise.
2410 * testsuite/25_algorithms/copy/constexpr.cc: Likewise.
2411 * testsuite/25_algorithms/copy/constrained.cc: Likewise.
2412 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise.
2413 * testsuite/25_algorithms/copy_backward/95578.cc: Likewise.
2414 * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise.
2415 * testsuite/25_algorithms/copy_backward/constrained.cc:
2417 * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
2419 * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise.
2420 * testsuite/25_algorithms/copy_if/constrained.cc: Likewise.
2421 * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise.
2422 * testsuite/25_algorithms/copy_n/constrained.cc: Likewise.
2423 * testsuite/25_algorithms/count/constexpr.cc: Likewise.
2424 * testsuite/25_algorithms/count/constrained.cc: Likewise.
2425 * testsuite/25_algorithms/count_if/constexpr.cc: Likewise.
2426 * testsuite/25_algorithms/count_if/constrained.cc: Likewise.
2427 * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise.
2428 * testsuite/25_algorithms/equal/95578.cc: Likewise.
2429 * testsuite/25_algorithms/equal/constexpr.cc: Likewise.
2430 * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise.
2431 * testsuite/25_algorithms/equal/constrained.cc: Likewise.
2432 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
2434 * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise.
2435 * testsuite/25_algorithms/equal_range/constrained.cc: Likewise.
2436 * testsuite/25_algorithms/fill/94017.cc: Likewise.
2437 * testsuite/25_algorithms/fill/constexpr.cc: Likewise.
2438 * testsuite/25_algorithms/fill/constrained.cc: Likewise.
2439 * testsuite/25_algorithms/fill_n/94017.cc: Likewise.
2440 * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise.
2441 * testsuite/25_algorithms/fill_n/constrained.cc: Likewise.
2442 * testsuite/25_algorithms/find/constexpr.cc: Likewise.
2443 * testsuite/25_algorithms/find/constrained.cc: Likewise.
2444 * testsuite/25_algorithms/find_end/constexpr.cc: Likewise.
2445 * testsuite/25_algorithms/find_end/constrained.cc: Likewise.
2446 * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise.
2447 * testsuite/25_algorithms/find_first_of/constrained.cc:
2449 * testsuite/25_algorithms/find_if/constexpr.cc: Likewise.
2450 * testsuite/25_algorithms/find_if/constrained.cc: Likewise.
2451 * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise.
2452 * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise.
2453 * testsuite/25_algorithms/for_each/constexpr.cc: Likewise.
2454 * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
2455 * testsuite/25_algorithms/generate/constexpr.cc: Likewise.
2456 * testsuite/25_algorithms/generate/constrained.cc: Likewise.
2457 * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise.
2458 * testsuite/25_algorithms/generate_n/constrained.cc: Likewise.
2459 * testsuite/25_algorithms/heap/constrained.cc: Likewise.
2460 * testsuite/25_algorithms/includes/constrained.cc: Likewise.
2461 * testsuite/25_algorithms/inplace_merge/constrained.cc:
2463 * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
2464 * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
2465 * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise.
2466 * testsuite/25_algorithms/is_partitioned/constrained.cc:
2468 * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise.
2469 * testsuite/25_algorithms/is_permutation/constrained.cc:
2471 * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise.
2472 * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise.
2473 * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
2475 * testsuite/25_algorithms/is_sorted_until/constrained.cc:
2477 * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise.
2478 * testsuite/25_algorithms/lexicographical_compare/93972.cc:
2480 * testsuite/25_algorithms/lexicographical_compare/95578.cc:
2482 * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
2484 * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
2486 * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
2488 * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc:
2490 * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise.
2491 * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise.
2492 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
2494 * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
2496 * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
2498 * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise.
2499 * testsuite/25_algorithms/max/constrained.cc: Likewise.
2500 * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
2501 * testsuite/25_algorithms/merge/constexpr.cc: Likewise.
2502 * testsuite/25_algorithms/merge/constrained.cc: Likewise.
2503 * testsuite/25_algorithms/min/constrained.cc: Likewise.
2504 * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
2505 * testsuite/25_algorithms/minmax/constrained.cc: Likewise.
2506 * testsuite/25_algorithms/minmax_element/constrained.cc:
2508 * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
2509 * testsuite/25_algorithms/mismatch/constrained.cc: Likewise.
2510 * testsuite/25_algorithms/move/93872.cc: Likewise.
2511 * testsuite/25_algorithms/move/95578.cc: Likewise.
2512 * testsuite/25_algorithms/move/constexpr.cc: Likewise.
2513 * testsuite/25_algorithms/move/constrained.cc: Likewise.
2514 * testsuite/25_algorithms/move_backward/93872.cc: Likewise.
2515 * testsuite/25_algorithms/move_backward/95578.cc: Likewise.
2516 * testsuite/25_algorithms/move_backward/constrained.cc:
2518 * testsuite/25_algorithms/next_permutation/constexpr.cc:
2520 * testsuite/25_algorithms/next_permutation/constrained.cc:
2522 * testsuite/25_algorithms/none_of/constexpr.cc: Likewise.
2523 * testsuite/25_algorithms/none_of/constrained.cc: Likewise.
2524 * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise.
2525 * testsuite/25_algorithms/nth_element/constrained.cc: Likewise.
2526 * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
2527 * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise.
2528 * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
2530 * testsuite/25_algorithms/partial_sort_copy/constrained.cc:
2532 * testsuite/25_algorithms/partition/constexpr.cc: Likewise.
2533 * testsuite/25_algorithms/partition/constrained.cc: Likewise.
2534 * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise.
2535 * testsuite/25_algorithms/partition_copy/constrained.cc:
2537 * testsuite/25_algorithms/partition_point/constexpr.cc:
2539 * testsuite/25_algorithms/partition_point/constrained.cc:
2541 * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise.
2542 * testsuite/25_algorithms/prev_permutation/constexpr.cc:
2544 * testsuite/25_algorithms/prev_permutation/constrained.cc:
2546 * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise.
2547 * testsuite/25_algorithms/remove/constexpr.cc: Likewise.
2548 * testsuite/25_algorithms/remove/constrained.cc: Likewise.
2549 * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise.
2550 * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise.
2551 * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise.
2552 * testsuite/25_algorithms/remove_copy_if/constrained.cc:
2554 * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise.
2555 * testsuite/25_algorithms/remove_if/constrained.cc: Likewise.
2556 * testsuite/25_algorithms/replace/constrained.cc: Likewise.
2557 * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise.
2558 * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise.
2559 * testsuite/25_algorithms/replace_copy_if/constexpr.cc:
2561 * testsuite/25_algorithms/replace_copy_if/constrained.cc:
2563 * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise.
2564 * testsuite/25_algorithms/replace_if/constrained.cc: Likewise.
2565 * testsuite/25_algorithms/reverse/constexpr.cc: Likewise.
2566 * testsuite/25_algorithms/reverse/constrained.cc: Likewise.
2567 * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise.
2568 * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise.
2569 * testsuite/25_algorithms/rotate/constexpr.cc: Likewise.
2570 * testsuite/25_algorithms/rotate/constrained.cc: Likewise.
2571 * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise.
2572 * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise.
2573 * testsuite/25_algorithms/sample/constrained.cc: Likewise.
2574 * testsuite/25_algorithms/search/constexpr.cc: Likewise.
2575 * testsuite/25_algorithms/search/constrained.cc: Likewise.
2576 * testsuite/25_algorithms/search_n/97828.cc: Likewise.
2577 * testsuite/25_algorithms/search_n/constexpr.cc: Likewise.
2578 * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
2579 * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
2580 * testsuite/25_algorithms/set_difference/constrained.cc:
2582 * testsuite/25_algorithms/set_intersection/constexpr.cc:
2584 * testsuite/25_algorithms/set_intersection/constrained.cc:
2586 * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
2588 * testsuite/25_algorithms/set_symmetric_difference/constrained.cc:
2590 * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
2591 * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
2592 * testsuite/25_algorithms/shift_left/1.cc: Likewise.
2593 * testsuite/25_algorithms/shift_right/1.cc: Likewise.
2594 * testsuite/25_algorithms/shuffle/constrained.cc: Likewise.
2595 * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
2596 * testsuite/25_algorithms/sort/constrained.cc: Likewise.
2597 * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
2598 * testsuite/25_algorithms/stable_partition/constrained.cc:
2600 * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise.
2601 * testsuite/25_algorithms/swap/constexpr.cc: Likewise.
2602 * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise.
2603 * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise.
2604 * testsuite/25_algorithms/transform/constexpr.cc: Likewise.
2605 * testsuite/25_algorithms/transform/constrained.cc: Likewise.
2606 * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
2607 * testsuite/25_algorithms/unique/constrained.cc: Likewise.
2608 * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
2609 * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise.
2610 * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
2611 * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise.
2612 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
2614 * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
2616 * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
2619 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2621 * testsuite/std/concepts/1.cc: Remove dg-options.
2622 * testsuite/std/concepts/2.cc: Likewise.
2623 * testsuite/std/concepts/concepts.callable/invocable.cc:
2625 * testsuite/std/concepts/concepts.callable/regular_invocable.cc:
2627 * testsuite/std/concepts/concepts.callable/relation.cc:
2629 * testsuite/std/concepts/concepts.callable/strictweakorder.cc:
2631 * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise.
2632 * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise.
2633 * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise.
2634 * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise.
2635 * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc:
2637 * testsuite/std/concepts/concepts.lang/concept.common/1.cc:
2639 * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc:
2641 * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise.
2642 * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
2644 * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise.
2645 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise.
2646 * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise.
2647 * testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
2649 * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise.
2650 * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise.
2651 * testsuite/std/concepts/concepts.lang/concept.same/1.cc:
2653 * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise.
2654 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise.
2655 * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise.
2656 * testsuite/std/concepts/concepts.object/copyable.cc: Likewise.
2657 * testsuite/std/concepts/concepts.object/movable.cc: Likewise.
2658 * testsuite/std/concepts/concepts.object/regular.cc: Likewise.
2659 * testsuite/std/concepts/concepts.object/semiregular.cc:
2661 * testsuite/std/ranges/97600.cc: Likewise.
2662 * testsuite/std/ranges/access/101782.cc: Likewise.
2663 * testsuite/std/ranges/access/begin.cc: Likewise.
2664 * testsuite/std/ranges/access/begin_neg.cc: Likewise.
2665 * testsuite/std/ranges/access/cbegin.cc: Likewise.
2666 * testsuite/std/ranges/access/cdata.cc: Likewise.
2667 * testsuite/std/ranges/access/cend.cc: Likewise.
2668 * testsuite/std/ranges/access/crbegin.cc: Likewise.
2669 * testsuite/std/ranges/access/crend.cc: Likewise.
2670 * testsuite/std/ranges/access/data.cc: Likewise.
2671 * testsuite/std/ranges/access/empty.cc: Likewise.
2672 * testsuite/std/ranges/access/end.cc: Likewise.
2673 * testsuite/std/ranges/access/end_neg.cc: Likewise.
2674 * testsuite/std/ranges/access/lwg3467.cc: Likewise.
2675 * testsuite/std/ranges/access/p2602.cc: Likewise.
2676 * testsuite/std/ranges/access/rbegin.cc: Likewise.
2677 * testsuite/std/ranges/access/rend.cc: Likewise.
2678 * testsuite/std/ranges/access/size.cc: Likewise.
2679 * testsuite/std/ranges/access/size_neg.cc: Likewise.
2680 * testsuite/std/ranges/access/ssize.cc: Likewise.
2681 * testsuite/std/ranges/adaptors/100479.cc: Likewise.
2682 * testsuite/std/ranges/adaptors/100577.cc: Likewise.
2683 * testsuite/std/ranges/adaptors/93978.cc: Likewise.
2684 * testsuite/std/ranges/adaptors/95322.cc: Likewise.
2685 * testsuite/std/ranges/adaptors/99433.cc: Likewise.
2686 * testsuite/std/ranges/adaptors/all.cc: Likewise.
2687 * testsuite/std/ranges/adaptors/common.cc: Likewise.
2688 * testsuite/std/ranges/adaptors/conditionally_borrowed.cc:
2690 * testsuite/std/ranges/adaptors/counted.cc: Likewise.
2691 * testsuite/std/ranges/adaptors/detail/copyable_box.cc:
2693 * testsuite/std/ranges/adaptors/drop.cc: Likewise.
2694 * testsuite/std/ranges/adaptors/drop_while.cc: Likewise.
2695 * testsuite/std/ranges/adaptors/elements.cc: Likewise.
2696 * testsuite/std/ranges/adaptors/filter.cc: Likewise.
2697 * testsuite/std/ranges/adaptors/join.cc: Likewise.
2698 * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
2699 * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
2700 * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise.
2701 * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise.
2702 * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise.
2703 * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise.
2704 * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
2705 * testsuite/std/ranges/adaptors/p2281.cc: Likewise.
2706 * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise.
2707 * testsuite/std/ranges/adaptors/reverse.cc: Likewise.
2708 * testsuite/std/ranges/adaptors/sizeof.cc: Likewise.
2709 * testsuite/std/ranges/adaptors/split.cc: Likewise.
2710 * testsuite/std/ranges/adaptors/take.cc: Likewise.
2711 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
2712 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
2713 * testsuite/std/ranges/empty_view.cc: Likewise.
2714 * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise.
2715 * testsuite/std/ranges/iota/difference_type.cc: Likewise.
2716 * testsuite/std/ranges/iota/iota_view.cc: Likewise.
2717 * testsuite/std/ranges/iota/iterator.cc: Likewise.
2718 * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
2719 * testsuite/std/ranges/iota/max_size_type.cc: Likewise.
2720 * testsuite/std/ranges/istream_view.cc: Likewise.
2721 * testsuite/std/ranges/p2259.cc: Likewise.
2722 * testsuite/std/ranges/p2325.cc: Likewise.
2723 * testsuite/std/ranges/p2367.cc: Likewise.
2724 * testsuite/std/ranges/range.cc: Likewise.
2725 * testsuite/std/ranges/refinements.cc: Likewise.
2726 * testsuite/std/ranges/safe_range.cc: Likewise.
2727 * testsuite/std/ranges/safe_range_types.cc: Likewise.
2728 * testsuite/std/ranges/single_view.cc: Likewise.
2729 * testsuite/std/ranges/sized.cc: Likewise.
2730 * testsuite/std/ranges/subrange/1.cc: Likewise.
2731 * testsuite/std/ranges/subrange/97512.cc: Likewise.
2732 * testsuite/std/ranges/subrange/constexpr.cc: Likewise.
2733 * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise.
2734 * testsuite/std/ranges/subrange/lwg3286.cc: Likewise.
2735 * testsuite/std/ranges/subrange/lwg3433.cc: Likewise.
2736 * testsuite/std/ranges/subrange/sizeof.cc: Likewise.
2737 * testsuite/std/ranges/subrange/tuple_like.cc: Likewise.
2738 * testsuite/std/ranges/view.cc: Likewise.
2740 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2742 * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
2744 * testsuite/23_containers/span/contiguous_range_neg.cc:
2746 * testsuite/23_containers/span/everything.cc: Likewise.
2748 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2750 * testsuite/24_iterators/reverse_iterator/100639.cc: Remove
2751 dg-options and add dg-add-options strict_std.
2752 * testsuite/std/ranges/iota/93267.cc: Likewise.
2753 * testsuite/std/ranges/iota/96042.cc: Likewise.
2754 * testsuite/std/ranges/iota/size.cc: Likewise.
2755 * testsuite/std/ranges/subrange/96042.cc: Likewise.
2757 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2759 * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc:
2760 Replace dg-options -std=c++17 with dg-add-options strict_std.
2761 * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc:
2764 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2766 * testsuite/23_containers/deque/48101-2_neg.cc: Replace
2767 dg-options with target selector.
2768 * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise.
2769 * testsuite/23_containers/list/48101-2_neg.cc: Likewise.
2770 * testsuite/23_containers/map/48101-2_neg.cc: Likewise.
2771 * testsuite/23_containers/map/48101_neg.cc: Likewise.
2772 * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise.
2773 * testsuite/23_containers/multimap/48101_neg.cc: Likewise.
2774 * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise.
2775 * testsuite/23_containers/set/48101-2_neg.cc: Likewise.
2776 * testsuite/23_containers/unordered_map/48101-2_neg.cc:
2778 * testsuite/23_containers/unordered_multimap/48101-2_neg.cc:
2780 * testsuite/23_containers/unordered_multiset/48101-2_neg.cc:
2782 * testsuite/23_containers/unordered_set/48101-2_neg.cc:
2784 * testsuite/23_containers/vector/48101-2_neg.cc: Likewise.
2786 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2788 * doc/xml/manual/test.xml: Update documentation on running and
2790 * doc/html/manual/test.html: Regenerate.
2791 * testsuite/Makefile.am: Add v3-use-std-list to site.tmp
2792 * testsuite/Makefile.in: Regenerate.
2793 * testsuite/lib/dg-options.exp (add_options_for_strict_std): New
2795 * testsuite/lib/libstdc++.exp (search_for): New utility proc.
2796 (v3-dg-runtest): New proc to replace dg-runtest.
2797 * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest.
2799 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2801 * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc:
2802 Fix test to work for C++23 and C++26 too.
2804 2023-09-15 Patrick Palka <ppalka@redhat.com>
2806 * include/std/bit: Include <concepts>.
2807 (byteswap): Use a type-constraint instead of enable_if_t
2808 inside the return type, and use std::integral.
2809 (_If_is_unsigned_integer): Replace with ...
2810 (__unsigned_integer): ... this.
2811 (rotl): Use a type-constraint instead of enable_if_t inside
2813 (countl_zero): Likewise.
2814 (countl_one): Likewise.
2815 (countr_zero): Likewise.
2816 (countr_one): Likewise.
2817 (popcount): Likewise.
2818 (has_single_bit): Likewise.
2819 (bit_ceil): Likewise.
2820 (bit_floor): Likewise.
2821 (bit_width): Likewise.
2823 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2825 * include/std/variant (variant): Remove derivation from
2826 _Enable_default_constructor base class.
2827 (variant::variant()): Constrain.
2828 * testsuite/20_util/variant/default_ctor.cc: New test.
2830 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2833 * include/std/variant (get<T>): Remove !is_void static
2836 2023-09-15 Jonathan Wakely <jwakely@redhat.com>
2838 * include/bits/version.def (to_chars): Define new value for
2840 * include/bits/version.h: Regenerate.
2841 * include/std/charconv (to_chars_result::operator bool): New
2843 (from_chars_result::operator bool): New function.
2844 * testsuite/20_util/to_chars/version.cc: Update expected value.
2845 * testsuite/20_util/from_chars/result.cc: New test.
2846 * testsuite/20_util/to_chars/result.cc: New test.
2848 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2851 * testsuite/20_util/integer_sequence/pr111357.cc: New test.
2853 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2855 * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use
2856 dg-additional-files. Remove @require@ and @diff@ comments.
2857 * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise.
2858 * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise.
2859 * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise.
2860 * testsuite/lib/dg-options.exp (v3_additional_files): New
2862 (dg-additional-files): New proc.
2863 * testsuite/lib/libstdc++.exp (v3_target_compile): Copy
2864 additional files to test directory.
2866 2023-09-14 Jonathan Wakely <jwakely@redhat.com>
2868 * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]:
2869 Use a plain integer for _M_work_count for single-threaded
2871 * include/experimental/memory_resource (__get_default_resource)
2872 [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for
2873 single-threaded targets.
2874 * src/c++17/default_resource.h: Adjust preprocessor conditions
2875 to match memory_resource.cc.
2876 * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS]
2877 (atomic_mem_res): Use unsynchronized type for single-threaded
2880 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org>
2882 * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise.
2883 * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise.
2884 * testsuite/29_atomics/atomic_float/value_init.cc: Likewise.
2885 * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise.
2886 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise.
2887 * testsuite/29_atomics/atomic_ref/generic.cc: Likewise.
2888 * testsuite/29_atomics/atomic_ref/integral.cc: Likewise.
2889 * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise.
2891 2023-09-14 François Dumont <fdumont@gcc.gnu.org>
2893 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2894 { dg-require-normal-namespace "" }.
2896 2023-09-13 François Dumont <fdumont@gcc.gnu.org>
2898 * include/std/format (std::__format::_Arg_store): Explicit version
2899 namespace on make_format_args friend declaration.
2901 2023-09-12 Patrick Palka <ppalka@redhat.com>
2904 * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define
2905 a deleted fallback operator() overload. Constrain both the
2906 enabled and deleted overloads accordingly.
2907 * testsuite/20_util/function_objects/not_fn/111327.cc: New test.
2909 2023-09-12 Patrick Palka <ppalka@redhat.com>
2912 * include/std/functional (_Bind_front::operator()): Add deleted
2913 fallback overloads for each const/ref qualifier pair. Give the
2914 enabled overloads dummy constraints to make each one more
2915 specialized than the corresponding deleted overload.
2916 * testsuite/20_util/function_objects/bind_front/111327.cc: New test.
2918 2023-09-12 Patrick Palka <ppalka@redhat.com>
2920 * include/std/functional (_Bind_front0): Remove.
2921 (_Bind_front_t): Adjust.
2923 2023-09-12 Jonathan Wakely <jwakely@redhat.com>
2925 * python/libstdcxx/v6/printers.py: Reformat.
2926 * python/libstdcxx/v6/xmethods.py: Likewise.
2928 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2930 * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New
2932 (reset_sequence_ptr): New function.
2933 (_Safe_iterator_base::_M_detach)
2934 (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load
2935 with acquire_sequence_ptr_for_lock.
2936 (_Safe_iterator_base::_M_reset): Replace bare atomic_store with
2939 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2941 * src/c++11/Makefile.am: Add new file.
2942 * src/c++11/Makefile.in: Regenerate.
2943 * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ...
2944 * src/c++11/assert_fail.cc: New file.
2946 2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org>
2948 * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef.
2949 (_GLIBCXX_USE_BUILTIN_TRAIT): Define.
2951 2023-09-11 Jonathan Wakely <jwakely@redhat.com>
2953 * include/bits/version.def (__cpp_lib_formatters): Define.
2954 * include/bits/version.h: Regenerate.
2955 * include/std/stacktrace (formatter<stacktrace_entry>)
2956 (formatter<basic_stacktrace<Alloc>>): Define.
2957 * include/std/thread (formatter<thread::id, charT>): Define.
2958 * testsuite/19_diagnostics/stacktrace/output.cc: New test.
2959 * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add
2960 std::formatter specializations.
2961 * testsuite/19_diagnostics/stacktrace/version.cc: Check
2962 __cpp_lib_formatters macro.
2963 * testsuite/30_threads/thread/id/hash.cc: Remove gthreads
2965 * testsuite/30_threads/thread/id/operators.cc: Likewise.
2966 * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise.
2967 * testsuite/30_threads/thread/id/output.cc: New test.
2969 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi>
2971 * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute.
2972 * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise.
2973 * src/filesystem/path.cc (path::_S_convert_loc): Likewise.
2975 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
2977 * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory.
2978 * configure: Regenerate.
2979 * doc/html/manual/*: Regenerate.
2980 * doc/xml/manual/using.xml: Update documentation on linking.
2981 * include/std/stacktrace: Remove declarations of libbacktrace
2983 (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init):
2985 (stacktrace_entry::_Info): New class.
2986 (stacktrace_entry::_M_get_info): Use _Info.
2987 (__stacktrace_impl): New class.
2988 (basic_stacktrace): Derive from __stacktrace_impl.
2989 (basic_stacktrace::current): Use __stacktrace_impl::_S_current.
2990 * scripts/testsuite_flags.in: Adjust LDFLAGS to find
2991 libstdc++exp instead of libstdc++_libbacktrace.
2992 * src/Makefile.am (SUBDIRS): Add c++23 directory.
2993 * src/Makefile.in: Regenerate.
2994 * src/c++20/Makefile.am: Fix comment.
2995 * src/c++20/Makefile.in: Regenerate.
2996 * src/c++23/Makefile.am: New file.
2997 * src/c++23/Makefile.in: New file.
2998 * src/c++23/stacktrace.cc: New file with definitions of
2999 stacktrace_entry::_Info and __stacktrace_impl members.
3000 * src/experimental/Makefile.am: Use LIBADD to include other
3002 * src/experimental/Makefile.in: Regenerate.
3003 * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES.
3004 * src/libbacktrace/Makefile.in: Regenerate.
3005 * testsuite/19_diagnostics/stacktrace/current.cc: Adjust
3006 dg-options to use -lstdc++exp.
3007 * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise.
3008 * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise.
3009 * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc:
3012 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com>
3014 * src/libbacktrace/Makefile.am: Remove -Werror.
3015 * src/libbacktrace/Makefile.in: Regenerate.
3017 2023-09-08 Jonathan Wakely <jwakely@redhat.com>
3019 * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe.
3020 * testsuite/Makefile.in: Regenerate.
3022 2023-09-08 Yang Yujie <yangyujie@loongson.cn>
3024 * configure.host: Register t-loongarch in tmake_file.
3025 * config/cpu/loongarch/t-loongarch: New file. Manually refresh
3026 MULTISUBDIR with $(shell $(CXX) --print-multi-directory).
3028 2023-09-07 Bruno Victal <mirai@makinata.eu>
3030 * acinclude.m4: Update docbook xsl URI.
3031 * configure: Regenerate.
3033 2023-09-07 Bruno Victal <mirai@makinata.eu>
3035 * doc/Makefile.am: Fix 'doc-install-info' rule.
3036 Fix typo in commment.
3037 * doc/Makefile.in: Regenerate.
3039 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3041 * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify
3042 dg-do target selector.
3044 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3046 * testsuite/config/default.exp: Remove trailing whitespace.
3047 * testsuite/lib/dg-options.exp: Likewise.
3048 * testsuite/lib/prune.exp: Likewise.
3049 * testsuite/libstdc++-abi/abi.exp: Likewise.
3050 * testsuite/libstdc++-dg/conformance.exp: Likewise.
3051 * testsuite/libstdc++-prettyprinters/prettyprinters.exp:
3053 * testsuite/libstdc++-xmethods/xmethods.exp: Likewise.
3054 * testsuite/lib/libstdc++.exp: Likewise.
3055 (check_v3_target_c_std): Fix filename for temporary source file.
3057 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3059 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir,
3060 chmod, chdir, and getcwd.
3061 * config.h.in: Regenerate.
3062 * configure: Regenerate.
3063 * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro.
3064 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3065 (fs::permissions): Use USE_CHMOD macro.
3066 * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS]
3067 (chmod, mkdir, getcwd, chdir): Define new macros.
3068 [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use
3070 * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro.
3071 (fs::current_path): Use USE_GETCWD and USE_CHDIR macros.
3072 (fs::permissions): Use USE_CHMOD macro.
3074 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3076 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3078 * configure: Regenerate.
3080 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3082 * testsuite/23_containers/unordered_map/operations/1.cc: Add
3083 dg-options for C++20 mode.
3084 * testsuite/23_containers/unordered_multimap/operations/1.cc:
3086 * testsuite/23_containers/unordered_multiset/operations/1.cc:
3088 * testsuite/23_containers/unordered_set/operations/1.cc:
3090 * testsuite/std/time/parse.cc: Move dg-options before dg-do.
3092 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3094 * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23
3096 * testsuite/std/ranges/access/cdata.cc: Likewise.
3097 * testsuite/std/ranges/access/cend.cc: Likewise.
3098 * testsuite/std/ranges/access/crbegin.cc: Likewise.
3099 * testsuite/std/ranges/access/crend.cc: Likewise.
3100 * testsuite/std/ranges/adaptors/take.cc: Likewise.
3101 * testsuite/std/ranges/adaptors/take_while.cc: Likewise.
3102 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3104 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3106 * include/bits/iterator_concepts.h (__imove::iter_move): Define
3107 poison pill as deleted for consistency.
3108 (__access::begin): Replace with a single declaration.
3109 * include/bits/ranges_base.h (__access::end, __access::rbegin)
3110 (__access::rend, __access::size): Likewise.
3111 * include/bits/version.def (ranges): Update value for C++23.
3112 * include/bits/version.h: Regenerate.
3113 * libsupc++/compare (__compare): Add missing poison pill
3115 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3116 of __cpp_lib_ranges.
3117 * testsuite/std/ranges/access/p2602.cc: New test.
3119 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3121 * include/bits/iterator_concepts.h (ranges::__cust_imove):
3122 Rename to ranges::__imove.
3123 (_IMove): Rename to _IterMove.
3124 (ranges::__cust_iswap): Rename to ranges::__iswap.
3125 (ranges::__cust): Rename to ranges::_Cpo.
3126 (ranges::__cust_access): Rename to ranges::__access.
3127 * include/bits/ranges_base.h (ranges::__cust_access): Rename to
3129 (ranges::__cust): Rename to ranges::_Cpo.
3130 * include/std/concepts (ranges::__cust_swap): Rename to
3132 (ranges::__cust): Rename to ranges::_Cpo.
3133 * libsupc++/compare (__cmp_cust): Rename to __compare.
3134 (__cmp_algo): Rename to _Cpo.
3136 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3138 * include/bits/version.def (ranges): Update value.
3139 * include/bits/version.h: Regenerate.
3140 * include/std/ranges (__detail::__boxable): Use
3141 move_constructible instead of copy_constructible for C++23.
3142 (__detail::__box<T>): Adjust constraints for partial
3144 (single_view, transform_view): Use __box_constructible instead
3145 of copy_constructible in constraints.
3146 (zip_transform_view, adjacent_transform_view, repeat_view): Use
3147 move_constructible instead of copy_constructible in constraints.
3148 * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check
3149 construction from move-only argument.
3150 * testsuite/std/ranges/adaptors/transform.cc: Likewise.
3151 * testsuite/std/ranges/repeat/1.cc: Likewise.
3152 * testsuite/std/ranges/single_view.cc: Likewise.
3153 * testsuite/std/ranges/zip_transform/1.cc: Likewise.
3154 * testsuite/std/ranges/version_c++23.cc: Adjust expected value
3155 of __cpp_lib_ranges.
3157 2023-09-07 Jonathan Wakely <jwakely@redhat.com>
3159 * testsuite/util/testsuite_iterators.h (is_customization_point_object):
3160 Remove parameter name.
3162 2023-09-06 Jonathan Wakely <jwakely@redhat.com>
3164 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default
3166 * configure: Regenerate.
3168 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3171 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3174 * configure: Regenerate.
3175 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3176 non-Canadian builds.
3178 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org>
3181 * configure: Regenerate.
3182 * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross,
3183 non-Canadian builds.
3185 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3187 * testsuite/26_numerics/complex/literals/types.cc: Remove
3188 dg-options and add target selector instead.
3190 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3192 * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options
3193 and qualify ambiguous calls to get.
3194 * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust
3195 expected result for std::pow(float, int) as per DR 550.
3197 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3199 * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03
3200 and add dg-warning for deprecation warnings.
3201 * testsuite/20_util/auto_ptr/2.cc: Likewise.
3202 * testsuite/20_util/auto_ptr/3.cc: Likewise.
3203 * testsuite/20_util/auto_ptr/3946.cc: Likewise.
3204 * testsuite/20_util/auto_ptr/4.cc: Likewise.
3205 * testsuite/20_util/auto_ptr/5.cc: Likewise.
3206 * testsuite/20_util/auto_ptr/6.cc: Likewise.
3207 * testsuite/20_util/auto_ptr/7.cc: Likewise.
3208 * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise.
3209 * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc:
3211 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc:
3213 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc:
3215 * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc:
3217 * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc:
3219 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc:
3221 * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc:
3224 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3227 * testsuite/23_containers/vector/26412-1.cc: Moved to...
3228 * testsuite/23_containers/vector/26142-1.cc: ...here.
3229 * testsuite/23_containers/vector/26412-2.cc: Moved to...
3230 * testsuite/23_containers/vector/26142-2.cc: ...here.
3232 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3234 * testsuite/20_util/bitset/107037.cc: Add c++98_only selector.
3235 * testsuite/26_numerics/complex/56111.cc: Likewise.
3237 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3239 * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc:
3240 Add dg-options to restrict the test to C++98 mode.
3241 * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc:
3244 2023-09-04 Jonathan Wakely <jwakely@redhat.com>
3246 * testsuite/20_util/expected/bad.cc: Add missing target
3249 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3251 * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
3253 * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
3256 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3258 * testsuite/27_io/filesystem/iterators/91067.cc: Add
3259 -Wno-self-move to options.
3260 * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise.
3262 2023-09-01 Vladimir Palevich <palevichva@gmail.com>
3265 * include/bits/vector.tcc (_M_realloc_insert): End guard
3266 lifetime just before assignment to class members.
3267 (_M_default_append): Likewise.
3269 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3271 * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]:
3272 Use __resize_and_overwrite to fill buffer.
3273 (fs::read_symlink) [HAVE_READLINK]: Likewise.
3274 * src/filesystem/ops-common.h (get_temp_directory_from_env)
3275 [FILESYSTEM_IS_WINDOWS]: Likewise.
3277 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3280 * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
3281 Add _AtomicRef non-type template parameter and use a loop if it
3283 (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP.
3284 (__atomic_impl::compare_exchange_strong): Likewise.
3285 (atomic_ref::compare_exchange_weak): Use true for NTTP.
3286 (atomic_ref::compare_exchange_strong): Use true for NTTP.
3287 * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
3288 Fix test to not rely on atomic_ref::load() to return an object
3289 with padding preserved.
3291 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3293 * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for
3296 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3298 * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros
3299 for POSIX readlink before using filesystem::read_symlink.
3301 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3303 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes.
3304 * configure: Regenerate.
3306 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3308 * include/bits/chrono_io.h (_Parser::operator()): Set failbit
3309 early if invalid values are read when _M_need & _TimeOfDay is
3311 * testsuite/std/time/parse.cc: Check that "25:59" cannot be
3314 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3317 * include/bits/chrono_io.h (_Parser::Operator()): Check %C
3318 values are in range of year::min() to year::max().
3319 * testsuite/std/time/parse.cc: Check out of range centuries.
3321 2023-09-01 Jonathan Wakely <jwakely@redhat.com>
3323 * include/std/format (__format::_Sink::_M_reset): Change second
3324 argument from iterator to offset.
3326 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3329 * testsuite/std/format/string.cc: Check wide character format
3330 strings with out-of-range widths.
3332 2023-08-24 Paul Dreik <gccpatches@pauldreik.se>
3335 * include/std/format (__format::__parse_integer): Check for
3338 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3340 * testsuite/std/format/functions/format_to.cc: Avoid warning for
3343 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3345 * include/std/atomic: Add comment to #ifdef and fix indentation.
3346 * include/std/ostream: Check __glibcxx_syncbuf instead of
3347 __cplusplus and _GLIBCXX_HOSTED.
3348 * include/std/thread: Add comment to #ifdef.
3350 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3352 * include/bits/version.def (__cpp_lib_ratio): Define.
3353 * include/bits/version.h: Regenerate.
3354 * include/std/ratio (quecto, ronto, yocto, zepto)
3355 (zetta, yotta, ronna, quetta): Define.
3356 * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust
3357 dg-error line numbers.
3359 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3361 * python/libstdcxx/v6/printers.py (StdLocalePrinter): New
3363 * testsuite/libstdc++-prettyprinters/locale.cc: New test.
3365 2023-08-24 Jonathan Wakely <jwakely@redhat.com>
3368 * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do
3369 not show template arguments.
3370 (StdVariantPrinter): Likewise.
3371 * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected
3373 * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise.
3374 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
3376 2023-08-23 François Dumont <fdumont@gcc.gnu.org>
3378 * testsuite/util/replacement_memory_operators.h
3379 (counter::scope): New, capture and reset counter count at construction and
3380 restore it at destruction.
3381 (counter::check_new): Add scope instantiation.
3382 * testsuite/23_containers/unordered_map/96088.cc (main):
3383 Add counter::scope instantiation.
3384 * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise.
3385 * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise.
3386 * testsuite/23_containers/unordered_set/96088.cc (main): Likewise.
3387 * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise.
3388 * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise.
3389 * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise.
3390 * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global.
3391 (operator new(size_t)): Check started.
3392 (main): Set/Unset started.
3393 * testsuite/17_intro/no_library_allocation.cc: New test case.
3395 2023-08-21 Jonathan Wakely <jwakely@redhat.com>
3397 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
3398 Call std::set_terminate before throwing the nested exception.
3400 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3403 * include/std/format (formatter): Only define specializations
3404 for 16-bit floating-point types for C++23.
3405 * include/std/limits (numeric_limits): Likewise.
3407 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3409 * include/bits/chrono_io.h (operator<<): Make uses of wide
3410 strings with streams and std::format type-dependent on _CharT.
3411 * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use
3412 __to_wstring_numeric.
3414 2023-08-18 Jonathan Wakely <jwakely@redhat.com>
3416 * include/bits/chrono_io.h (operator<<): Use __format_context.
3417 * include/std/format (__format::__format_context): New alias
3419 [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg):
3422 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3425 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3427 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3428 double overload for long double if possible.
3430 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3432 * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to
3435 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3437 * config/locale/generic/c_locale.cc (__convert_to_v): Reuse
3438 double overload for long double if possible.
3440 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3442 * src/c++98/localename.cc (is_C_locale): New function.
3443 (locale::locale(const char*)): Use is_C_locale.
3445 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3448 * include/bits/basic_string.h (basic_string::assign(Iter, Iter)):
3449 Dispatch to _M_replace or move assignment from a temporary,
3450 based on the iterator type.
3452 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3454 * include/std/format (formatter): Add partial specializations
3455 for extended floating-point types.
3456 * testsuite/std/format/functions/format.cc: Move test_float128()
3458 * testsuite/std/format/formatter/ext_float.cc: New test.
3460 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3462 * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define
3463 whenever __BFLT16_DIG__ is defined, not only for C++23.
3464 * include/std/limits (numeric_limits<bfloat16_t>): Likewise.
3465 (numeric_limits<_Float16>, numeric_limits<_Float32>)
3466 (numeric_limits<_Float64>): Likewise for other extended
3467 floating-point types.
3469 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3471 * include/experimental/internet (address_v4::to_string): Remove
3472 unused parameter name.
3474 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3476 * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval.
3477 * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune
3478 excess errors caused by invalid consteval calls.
3480 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3482 * include/bits/chrono_io.h (__units_suffix_misc): Remove.
3483 (__units_suffix): Return a known suffix as string view, do not
3484 write unknown suffixes to a buffer.
3485 (__fmt_units_suffix): New function that formats the suffix using
3487 (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix.
3488 (__chrono_formatter::_M_Z): Correct lifetime of wstring.
3490 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3492 * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide
3493 string formatters with this macro.
3494 (__formatter_int::_M_format_int, __formatter_fp::format)
3495 (formatter<const void*, C>::format): Use __to_wstring_numeric
3496 instead of std::ctype::widen.
3497 (__formatter_fp::_M_localize): Use hardcoded wchar_t values
3498 instead of std::ctype::widen.
3499 * testsuite/std/format/functions/format.cc: Add more checks for
3500 wstring formatting of arithmetic types.
3502 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3504 * include/bits/basic_string.h (to_string(floating-point-type)):
3505 Implement using std::to_chars for C++26.
3506 * include/bits/version.def (__cpp_lib_to_string): Define.
3507 * include/bits/version.h: Regenerate.
3508 * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc:
3509 Adjust expected result in C++26 mode.
3510 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc:
3512 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc:
3514 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc:
3516 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc:
3518 * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc:
3520 * testsuite/21_strings/basic_string/numeric_conversions/version.cc:
3523 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3525 * include/bits/basic_string.h (to_string(integral-type)): Use
3526 resize_and_overwrite when available.
3527 (__to_wstring_numeric): New helper functions.
3528 (to_wstring): Use std::to_string then __to_wstring_numeric.
3529 * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc:
3530 Remove check for no excess capacity.
3532 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3534 * include/bits/basic_string.h (__resize_and_overwrite): New
3536 * include/bits/basic_string.tcc (__resize_and_overwrite): New
3538 (resize_and_overwrite): Simplify by using reserve instead of
3539 growing the string manually. Adjust for C++11 compatibility.
3540 * include/bits/cow_string.h (resize_and_overwrite): New
3542 (__resize_and_overwrite): New function.
3543 * include/bits/version.def (__cpp_lib_string_resize_and_overwrite):
3544 Do not depend on cxx11abi.
3545 * include/bits/version.h: Regenerate.
3546 * include/std/format (__formatter_fp::_S_resize_and_overwrite):
3548 (__formatter_fp::format, __formatter_fp::_M_localize): Use
3549 __resize_and_overwrite instead of _S_resize_and_overwrite.
3550 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
3551 Adjust for C++11 compatibility when included by ...
3552 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc:
3555 2023-08-17 Patrick Palka <ppalka@redhat.com>
3557 * include/bits/regex.h (regex_iterator::iterator_concept):
3558 Define for C++20 as per P2770R0.
3559 (regex_token_iterator::iterator_concept): Likewise.
3560 * include/std/ranges (__detail::__as_lvalue): Define.
3561 (join_view::_Iterator): Befriend join_view.
3562 (join_view::_Iterator::_M_satisfy): Use _M_get_outer
3563 instead of _M_outer.
3564 (join_view::_Iterator::_M_get_outer): Define.
3565 (join_view::_Iterator::_Iterator): Split constructor taking
3566 _Parent argument into two as per P2770R0. Remove constraint on
3567 default constructor.
3568 (join_view::_Iterator::_M_outer): Make this data member present
3569 only when the underlying range is forward.
3570 (join_view::_Iterator::operator++): Use _M_get_outer instead of
3572 (join_view::_Iterator::operator--): Use __as_lvalue helper.
3573 (join_view::_Iterator::operator==): Adjust constraints as per
3575 (join_view::_Sentinel::__equal): Use _M_get_outer instead of
3577 (join_view::_M_outer): New data member when the underlying range
3579 (join_view::begin): Adjust definition as per P2770R0.
3580 (join_view::end): Likewise.
3581 (join_with_view::_M_outer_it): New data member when the
3582 underlying range is non-forward.
3583 (join_with_view::begin): Adjust definition as per P2770R0.
3584 (join_with_view::end): Likewise.
3585 (join_with_view::_Iterator::_M_outer_it): Make this data member
3586 present only when the underlying range is forward.
3587 (join_with_view::_Iterator::_M_get_outer): Define.
3588 (join_with_view::_Iterator::_Iterator): Split constructor
3589 taking _Parent argument into two as per P2770R0. Remove
3590 constraint on default constructor.
3591 (join_with_view::_Iterator::_M_update_inner): Adjust definition
3593 (join_with_view::_Iterator::_M_get_inner): Likewise.
3594 (join_with_view::_Iterator::_M_satisfy): Adjust calls to
3595 _M_get_inner. Use _M_get_outer instead of _M_outer_it.
3596 (join_with_view::_Iterator::operator==): Adjust constraints
3598 (join_with_view::_Sentinel::operator==): Use _M_get_outer
3599 instead of _M_outer_it.
3600 * testsuite/std/ranges/adaptors/p2770r0.cc: New test.
3602 2023-08-17 Patrick Palka <ppalka@redhat.com>
3605 * include/std/ranges (__adaptor::_RangeAdaptorClosure):
3606 Convert into a CRTP class template. Move hidden operator|
3607 friends into namespace scope and adjust their constraints.
3608 (__closure::__is_range_adaptor_closure_fn): Define.
3609 (__closure::__is_range_adaptor_closure): Define.
3610 (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure.
3611 (__adaptor::_Pipe): Likewise.
3612 (views::_All): Likewise.
3613 (views::_Join): Likewise.
3614 (views::_Common): Likewise.
3615 (views::_Reverse): Likewise.
3616 (views::_Elements): Likewise.
3617 (views::_Adjacent): Likewise.
3618 (views::_AsRvalue): Likewise.
3619 (views::_Enumerate): Likewise.
3620 (views::_AsConst): Likewise.
3621 * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion
3622 expecting that adding empty range adaptor closure objects to a
3623 pipeline doesn't increase the size of a pipeline.
3625 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3627 * include/std/format (__format::_Pres_type): Add _Pres_F.
3628 (__formatter_fp::parse): Use _Pres_F for 'F'.
3629 (__formatter_fp::format): Set __upper for _Pres_F.
3630 * testsuite/std/format/functions/format.cc: Check formatting of
3631 infinity and NaN for each presentation type.
3633 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3635 * include/Makefile.in: Regenerate.
3637 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3639 * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch.
3640 * testsuite/std/format/functions/format.cc: Likewise.
3641 * testsuite/std/format/functions/format_c++23.cc: Likewise.
3643 2023-08-17 Jonathan Wakely <jwakely@redhat.com>
3645 * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove
3646 any "-include bits/stdc++.h" from options and add the macro to
3647 the existing options instead of replacing them.
3649 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3651 * include/bits/basic_string.tcc (resize_and_overwrite): Invoke
3652 the callable with the same size as resize_and_overwrite was
3654 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
3655 Check with small values for the new size.
3656 * testsuite/std/format/functions/format.cc: Check wide
3657 formatting of double values that produce small strings.
3658 * testsuite/std/format/functions/format_c++23.cc: New test.
3660 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3662 * include/bits/version.def (stds): Update value for C++23.
3663 * include/bits/version.h: Regenerate.
3665 2023-08-16 Jonathan Wakely <jwakely@redhat.com>
3667 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
3668 Fix name of upstream file this was derived from.
3669 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
3671 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
3673 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
3675 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise.
3677 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
3679 * libsupc++/typeinfo: Switch to bits/version.h for
3680 __cpp_lib_constexpr_typeinfo.
3681 * libsupc++/new: Switch to bits/version.h for
3682 __cpp_lib_{launder,hardware_interference_size,destroying_delete}.
3683 (launder): Guard behind __cpp_lib_launder.
3684 (hardware_destructive_interference_size)
3685 (hardware_constructive_interference_size): Guard behind
3686 __cpp_lib_hardware_interference_size.
3687 * libsupc++/exception: Switch to bits/version.h for
3688 __cpp_lib_uncaught_exceptions.
3689 (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions.
3690 * libsupc++/compare: Switch to bits/version.h for
3691 __cpp_lib_three_way_comparison.
3692 (three_way_comparable, three_way_comparable_with)
3693 (compare_three_way, weak_order, strong_order, partial_order):
3694 Guard behind __cpp_lib_three_way_comparison >= 201907L.
3695 * include/std/chrono: Drop __cpp_lib_chrono definition.
3696 * include/std/vector: Switch to bits/version.h for
3698 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3699 * include/std/variant: Switch to bits/version.h for
3700 __cpp_lib_variant. Guard whole header behind that FTM.
3701 * include/std/utility: Switch to bits/version.h for
3702 __cpp_lib_{exchange_function,constexpr_algorithms,as_const},
3703 __cpp_lib_{integer_comparison_functions,to_underlying}, and
3704 __cpp_lib_unreachable.
3705 (exchange): Guard behind __cpp_lib_exchange_function.
3706 (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal)
3707 (cmp_greater_equal, in_range): Guard behind
3708 __cpp_lib_integer_comparison_functions.
3709 (to_underlying): Guard behind __cpp_lib_to_underlying.
3710 (unreachable): Guard behind __cpp_lib_unreachable.
3711 * include/std/type_traits: Switch to bits/version.h for
3712 __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate},
3713 __cpp_lib_is_{constant_evaluated,invocable,layout_compatible},
3714 __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable},
3715 __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref},
3716 __cpp_lib_{result_of_sfinae,transformation_trait_aliases},
3717 __cpp_lib_{type_identity,type_trait_variable_templates},
3718 __cpp_lib_{unwrap_ref,void_t,integral_constant_callable},
3719 __cpp_lib_{bool_constant,bounded_array_traits}, and
3720 __cpp_lib_has_unique_object_representations.
3721 (integral_constant::operator()): Guard behind
3722 __cpp_lib_integral_constant_callable.
3723 (bool_constant): Guard behind __cpp_lib_bool_constant.
3724 (conjunction, disjunction, negation, conjunction_v, disjunction_v)
3725 (negation_v): Guard behind __cpp_lib_logical_traits.
3726 (is_null_pointer): Guard behind __cpp_lib_is_null_pointer.
3727 (is_final): Guard behind __cpp_lib_is_final.
3728 (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind
3729 __cpp_lib_is_nothrow_convertible.
3730 (remove_const_t, remove_volatile_t, remove_cv_t)
3731 (add_const_t, add_volatile_t, add_cv_t): Guard behind
3732 __cpp_lib_transformation_trait_aliases.
3733 (void_t): Guard behind __cpp_lib_void_t.
3734 (is_swappable_with_v, is_nothrow_swappable_with_v)
3735 (is_swappable_with, is_nothrow_swappable_with): Guard behind
3736 __cpp_lib_is_swappable.
3737 (is_nothrow_invocable_r, is_invocable_r, invoke_result)
3738 (is_invocable, invoke_result_t): Guard behind
3739 __cpp_lib_is_invocable.
3740 (alignment_of_v, extent_v, has_virtual_destructor_v)
3741 (is_abstract_v, is_arithmetic_v, is_array_v)
3742 (is_assignable_v, is_base_of_v, is_class_v, is_compound_v)
3743 (is_constructible_v, is_const_v, is_convertible_v)
3744 (is_copy_assignable_v, is_copy_constructible_v)
3745 (is_default_constructible_v, is_destructible_v)
3746 (is_empty_v, is_enum_v, is_final_v, is_floating_point_v)
3747 (is_function_v, is_fundamental_v, is_integral_v)
3748 (is_invocable_r_v, is_invocable_v, is_literal_type_v)
3749 (is_lvalue_reference_v, is_member_function_pointer_v)
3750 (is_member_object_pointer_v, is_member_pointer_v)
3751 (is_move_assignable_v, is_move_constructible_v)
3752 (is_nothrow_assignable_v, is_nothrow_constructible_v)
3753 (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v)
3754 (is_nothrow_default_constructible_v, is_nothrow_destructible_v)
3755 (is_nothrow_invocable_r_v, is_nothrow_invocable_v)
3756 (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v)
3757 (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v)
3758 (is_polymorphic_v, is_reference_v, is_rvalue_reference_v)
3759 (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v)
3760 (is_trivially_assignable_v, is_trivially_constructible_v)
3761 (is_trivially_copyable_v, is_trivially_copy_assignable_v)
3762 (is_trivially_copy_constructible_v)
3763 (is_trivially_default_constructible_v)
3764 (is_trivially_destructible_v, is_trivially_move_assignable_v)
3765 (is_trivially_move_constructible_v, is_trivial_v, is_union_v)
3766 (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic):
3767 Guard behind __cpp_lib_type_trait_variable_templates.
3768 (has_unique_object_representations)
3769 (has_unique_object_representations_v): Guard behind
3770 __cpp_lib_has_unique_object_representation.
3771 (is_aggregate): Guard behind __cpp_lib_is_aggregate.
3772 (remove_cvref, remove_cvref_t): Guard behind
3773 __cpp_lib_remove_cvref.
3774 (type_identity, type_identity_t): Guard behind
3775 __cpp_lib_type_identity.
3776 (unwrap_reference, unwrap_reference_t, unwrap_ref_decay)
3777 (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref.
3778 (is_bounded_array_v, is_unbounded_array_v, is_bounded_array)
3779 (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits.
3780 (is_scoped_enum, is_scoped_enum_v): Guard behind
3781 __cpp_lib_is_scoped_enum.
3782 (reference_constructs_from_temporary)
3783 (reference_constructs_from_temporary_v): Guard behind
3784 __cpp_lib_reference_from_temporary.
3785 * include/std/tuple: Switch to bits/version.h for
3786 __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}.
3787 (get<T>): Guard behind __cpp_lib_tuple_by_type.
3788 (apply): Guard behind __cpp_lib_apply.
3789 (make_from_tuple): Guard behind __cpp_lib_make_from_tuple.
3790 * include/std/syncstream: Switch to bits/version.h for
3791 __cpp_lib_syncbuf. Guard header behind that FTM.
3792 * include/std/string_view: Switch to bits/version.h for
3793 __cpp_lib_{string_{view,contains},constexpr_string_view} and
3794 __cpp_lib_starts_ends_with.
3795 (basic_string_view::starts_with, basic_string_view::ends_with):
3796 Guard behind __cpp_lib_starts_ends_with.
3797 [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]:
3798 Assert as impossible ithout a bug in C++23.
3799 * include/std/string: Switch to bits/version.h for
3801 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3802 * include/std/thread: Switch to bits/version.h for
3804 * include/std/stop_token: Switch to bits/version.h for
3806 * include/std/spanstream: Switch to bits/version.h for
3807 __cpp_lib_spanstream. Guard header behind that FTM.
3808 * include/std/span: Switch to bits/version.h for __cpp_lib_span.
3809 Guard header behind that FTM.
3810 * include/std/source_location: Switch to bits/version.h for
3811 __cpp_lib_source_location. Guard header with that FTM.
3812 * include/std/shared_mutex: Switch to bits/version.h for
3813 __cpp_lib_shared{,_timed}_mutex.
3814 (shared_mutex): Guard behind __cpp_lib_shared_mutex.
3815 * include/std/semaphore: Switch to bits/version.h for
3816 __cpp_lib_semaphore. Guard header behind that FTM.
3817 * include/std/ranges: Switch to bits/version.h for
3818 __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with},
3819 __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue},
3820 and __cpp_lib_ranges_{as_const,enumerate,iota}.
3821 (ranges::zip et al, ranges::chunk et al, ranges::slide et al)
3822 (ranges::chunk_by et al, ranges::join_with et al)
3823 (ranges::stride et al, ranges::cartesian_product et al)
3824 (ranges::as_rvalue et al, ranges::as_const et al)
3825 (ranges::enumerate et al): Guard behind appropriate FTM.
3826 * include/std/optional: Switch to bits/version.h for
3827 __cpp_lib_optional. Guard header behind that FTM.
3828 * include/std/numeric: Switch to bits/version.h for
3829 __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate}
3830 and __cpp_lib_parallel_algorithm.
3831 (gcd, lcm): Guard behind __cpp_lib_gcd_lcm.
3832 (midpoint): Guard behind __cpp_lib_interpolate.
3833 * include/std/numbers: Switch to bits/version.h for
3834 __cpp_lib_math_constants. Guard header behind that FTM.
3835 * include/std/mutex: Switch to bits/version.h for
3836 __cpp_lib_scoped_lock.
3837 (scoped_Lock): Guard behind __cpp_lib_scoped_lock.
3838 * include/std/memory_resource: Switch to bits/version.h for
3839 __cpp_lib_{polymorphic_allocator,memory_resource}.
3840 (synchronized_pool_resource): Guard behind
3841 __cpp_lib_memory_resource >= 201603L.
3842 (polymorphic_allocator): Guard behind
3843 __cpp_lib_polymorphic_allocator.
3844 * include/std/memory: Switch to bits/version.h for
3845 __cpp_lib_{parallel_algorithm,atomic_value_initialization}.
3846 * include/std/list: Switch to bits/version.h for
3848 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3849 * include/std/latch: Switch to bits/version.h for __cpp_lib_latch.
3850 Guard header behind that FTM.
3851 * include/std/iterator: Switch to bits/version.h for
3852 __cpp_lib_null_iterators.
3853 * include/std/iomanip: Switch to bits/version.h for
3854 __cpp_lib_quoted_string_io.
3855 (quoted): Guard behind __cpp_lib_quoted_string_io.
3856 * include/std/functional: Switch to bits/version.h for
3857 __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and
3858 __cpp_lib_{not_fn,booyer_moore_searcher}.
3859 (invoke): Guard behind __cpp_lib_invoke.
3860 (invoke_r): Guard behind __cpp_lib_invoke_r.
3861 (bind_front): Guard behind __cpp_lib_bind_front.
3862 (not_fn): Guard behind __cpp_lib_not_fn.
3863 (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard
3864 definition behind __cpp_lib_boyer_moore_searcher.
3865 * include/std/forward_list: Switch to bits/version.h for
3867 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3868 * include/std/format: Switch to bits/version.h for
3869 __cpp_lib_format. Guard header behind that FTM.
3870 * include/std/filesystem: Switch to bits/version.h for
3871 __cpp_lib_filesystem. Guard header behind that FTM.
3872 * include/std/expected: Switch to bits/version.h for
3873 __cpp_lib_expected. Guard header behind it.
3874 * include/std/execution: Switch to bits/version.h for
3875 __cpp_lib_{execution,parallel_algorithm}. Guard header behind
3877 * include/std/deque: Switch to bits/version.h for
3879 (erase, erase_if): Guard behind __cpp_lib_erase_if.
3880 * include/std/coroutine: Switch to bits/version.h for
3881 __cpp_lib_coroutine. Guard header behind that FTM.
3882 * include/std/concepts: Switch to bits/version.h for
3883 __cpp_lib_concepts. Guard header behind that FTM.
3884 * include/std/complex: Switch to bits/version.h for
3885 __cpp_lib_{complex_udls,constexpr_complex}.
3886 (operator""if, operator""i, operator""il): Guard behind
3887 __cpp_lib_complex_udls.
3888 * include/std/charconv: Swtich to bits/version.h for
3889 __cpp_lib_{to_chars,constexpr_charconv}.
3890 * include/std/bitset: Switch to bits/version.h for
3891 __cpp_lib_constexpr_bitset.
3892 * include/std/bit: Switch to bits/version.h for
3893 __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}.
3894 (bit_cast): Guard behind __cpp_lib_bit_cast.
3895 (byteswap): Guard behind __cpp_lib_byteswap.
3896 (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one)
3897 (popcount): Guard behind __cpp_lib_bitops.
3898 (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind
3900 (endian): Guard behind __cpp_lib_endian.
3901 * include/std/barrier: Switch to bits/version.h for
3902 __cpp_lib_barrier. Guard header behind that FTM.
3903 * include/std/atomic: Switch to bits/version.h for
3904 __cpp_lib_atomic_{is_always_lock_free,float,ref}
3905 and __cpp_lib_lock_free_type_aliases.
3906 (*::is_always_lock_free): Guard behind
3907 __cpp_lib_atomic_is_always_lock_free.
3908 (atomic<float>): Guard behind __cpp_lib_atomic_float.
3909 (atomic_ref): Guard behind __cpp_lib_atomic_ref.
3910 (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind
3911 __cpp_lib_atomic_lock_free_type_aliases.
3912 * include/std/array: Switch to bits/version.h for
3914 (to_array): Guard behind __cpp_lib_to_array.
3915 * include/std/any: Switch to bits/version.h for __cpp_lib_any.
3916 Guard header behind that FTM.
3917 * include/std/algorithm: Switch to bits/version.h for
3918 __cpp_lib_parallel_algorithm.
3919 * include/c_global/cstddef: Switch to bits/version.h for
3921 (byte): Guard behind __cpp_lib_byte.
3922 * include/c_global/cmath: Switch to bits/version.h for
3923 __cpp_lib_{hypot,interpolate}.
3924 (hypot3): Guard behind __cpp_lib_hypot.
3925 (lerp): Guard behind __cpp_lib_interpolate.
3926 * include/c_compatibility/stdatomic.h: Switch to
3927 bits/stl_version.h for __cpp_lib_atomic. Guard header behind that
3929 * include/bits/utility.h: Switch to bits/version.h for
3930 __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}.
3931 (tuple_element_t): Guard behind __cpp_lib_tuple_element_t.
3932 (integer_sequence et al): Guard behind __cpp_lib_integer_sequence.
3933 * include/bits/uses_allocator_args.h: Switch to bits/version.h for
3934 __cpp_lib_make_obj_using_allocator. Guard header behind that FTM.
3935 * include/bits/unordered_map.h: Switch to bits/version.h for
3936 __cpp_lib_unordered_map_try_emplace.
3937 (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace.
3938 * include/bits/unique_ptr.h: Switch to bits/version.h for
3939 __cpp_lib_{constexpr_memory,make_unique}.
3940 (make_unique): Guard behind __cpp_lib_make_unique.
3941 * include/bits/stl_vector.h: Switch to bits/version.h for
3942 __cpp_lib_constexpr_vector.
3943 * include/bits/stl_uninitialized.h: Switch to bits/version.h for
3944 __cpp_lib_raw_memory_algorithms.
3945 (uninitialized_default_construct)
3946 (uninitialized_default_construct_n, uninitialized_move)
3947 (uninitialized_move_n, uninitialized_value_construct)
3948 (uninitialized_value_construct_n): Guard behind
3949 __cpp_lib_raw_memory_algorithms.
3950 * include/bits/stl_tree.h: Switch to bits/version.h for
3951 __cpp_lib_generic_associative_lookup.
3952 * include/bits/stl_stack.h: Switch to bits/version.h for
3953 __cpp_lib_adaptor_iterator_pair_constructor.
3954 (stack): Guard iterator-pair constructor behind
3955 __cpp_lib_adaptor_iterator_pair_constructor.
3956 * include/bits/stl_queue.h: Switch to bits/version.h for
3957 __cpp_lib_adaptor_iterator_pair_constructor.
3958 (queue): Guard iterator-pair constructor behind
3959 __cpp_lib_adaptor_iterator_pair_constructor.
3960 * include/bits/stl_pair.h: Switch to bits/version.h for
3961 __cpp_lib_{concepts,tuples_by_type}.
3962 (get): Guard type-getting overloads behind
3963 __cpp_lib_tuples_by_type.
3964 * include/bits/stl_map.h: Switch to bits/version.h for
3965 __cpp_lib_map_try_emplace.
3966 (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace.
3967 * include/bits/stl_list.h: Switch to bits/version.h for
3968 __cpp_lib_list_remove_return_type.
3969 (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG)
3970 [C++20]: guard behind __cpp_lib_list_remove_return_type instead.
3971 * include/bits/stl_iterator.h: Switch to bits/version.h for
3972 __cpp_lib_{constexpr_iterator,array_constexpr} and
3973 __cpp_lib_{make_reverse_iterator,move_iterator_concept}.
3974 (make_reverse_iterator): Guard behind
3975 __cpp_lib_make_reverse_iterator.
3976 (iterator_concept et al): Guard __cpp_lib_move_iterator_concept
3977 changes behind that FTM.
3978 * include/bits/stl_function.h: Switch to bits/version.h for
3979 __cpp_lib_transparent_operators.
3980 (equal_to, not_equal_to, greater, less, greater_equal)
3981 (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and)
3982 (logical_or, logical_not, plus, minus, multiplies, divides)
3983 (modulus, negate): Guard '= void' fwdecls behind
3984 __cpp_lib_transparent_operators.
3985 (plus<void>, minus<void>, multiplies<void>, divides<void>)
3986 (modulus<void>, negate<void>, logical_and<void>, logical_or<void>)
3987 (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>)
3988 (equal_to<void>, not_equal_to<void>, greater<void>, less<void>)
3989 (greater_equal<void>, less_equal<void>, bit_not<void>)
3990 (__has_is_transparent): Guard behind
3991 __cpp_lib_transparent_operators.
3992 * include/bits/stl_algobase.h: Switch to bits/version.h for
3993 __cpp_lib_robust_nonmodifying_seq_ops.
3994 (robust equal, mismatch): Guard behind
3995 __cpp_lib_nonmember_container_access.
3996 * include/bits/stl_algo.h: Swtich to bits/version.h for
3997 __cpp_lib_{clamp,sample}.
3998 (clamp): Guard behind __cpp_lib_clamp.
3999 (sample): Guard behind __cpp_lib_sample.
4000 * include/bits/specfun.h: Switch to bits/version.h for
4001 __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__.
4002 * include/bits/shared_ptr_base.h: Switch to bits/version.h for
4003 __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}.
4004 (_Sp_overwrite_tag): Guard behind
4005 __cpp_lib_smart_ptr_for_overwrite.
4006 * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for
4007 __cpp_lib_atomic_shared_ptr.
4008 * include/bits/shared_ptr.h: Switch to bits/version.h for
4009 __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}.
4010 (shared_ptr<T>::weak_type): Guard behind
4011 __cpp_lib_shared_ptr_weak_type.
4012 (enable_shared_from_this<T>::weak_from_this): Guard behind
4013 __cpp_lib_enable_shared_from_this.
4014 * include/bits/ranges_cmp.h: Switch to bits/version.h for
4016 * include/bits/ranges_algo.h: Switch to bits/version.h for
4017 __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}.
4018 * include/bits/range_access.h: Switch to bits/version.h for
4019 __cpp_lib_nonmember_container_access
4020 (size, empty, data): Guard behind
4021 __cpp_lib_nonmember_container_access.
4022 (ssize): Guard behind __cpp_lib_ssize.
4023 * include/bits/ptr_traits.h: Switch to bits/version.h. for
4024 __cpp_lib_{constexpr_memory,to_address}.
4025 (to_address): Guard behind __cpp_lib_to_address.
4026 * include/bits/node_handle.h: Switch to bits/version.h for
4027 __cpp_lib_node_extract. Guard header behind that FTM.
4028 * include/bits/move_only_function.h: Switch to bits/version.h for
4029 __cpp_lib_move_only_function. Guard header behind that FTM.
4030 * include/bits/move.h: Switch to bits/version.h for
4031 __cpp_lib_addressof_constexpr.
4032 * include/bits/ios_base.h: Switch to bits/version.h for
4033 __cpp_lib_ios_noreplace.
4034 (noreplace): Guard with __cpp_lib_ios_noreplace.
4035 * include/bits/hashtable.h: Switch to bits/version.h for
4036 __cpp_lib_generic_unordered_lookup.
4037 (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind
4038 __cpp_lib_generic_unordered_lookup.
4039 * include/bits/forward_list.h: Switch to bits/version.h for
4040 __cpp_lib_list_remove_return_type.
4041 (__remove_return_type): Guard behind
4042 __cpp_lib_list_remove_return_type.
4043 * include/bits/erase_if.h: Switch to bits/version.h for
4045 * include/bits/cow_string.h: Switch to bits/version.h for
4046 __cpp_lib_constexpr_string.
4047 * include/bits/chrono.h: Swtich to bits/version.h for
4048 __cpp_lib_chrono{,_udls}.
4049 (ceil): Guard behind __cpp_lib_chrono.
4050 (operator""ns et al): Guard behind __cpp_lib_chrono_udls.
4051 * include/bits/char_traits.h: Switch to bits/version.h for
4052 __cpp_lib_constexpr_char_traits.
4053 * include/bits/basic_string.h: Switch to bits/version.h for
4054 __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}.
4055 (resize_and_overwrite): Guard behind
4056 __cpp_lib_string_resize_and_overwrite.
4057 (operator""s): Guard behind __cpp_lib_string_udls.
4058 * include/bits/atomic_wait.h: Switch to bits/version.h for
4059 __cpp_lib_atomic_wait. Guard header behind that FTM.
4060 * include/bits/atomic_base.h: Switch to bits/version.h for
4061 __cpp_lib_atomic_value_initialization and
4062 __cpp_lib_atomic_flag_test.
4063 (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test,
4065 * include/bits/allocator.h: Switch to bits/version.h for
4066 __cpp_lib_incomplete_container_elements.
4067 * include/bits/alloc_traits.h: Switch to using bits/version.h for
4068 __cpp_lib_constexpr_dynamic_alloc and
4069 __cpp_lib_allocator_traits_is_always_equal.
4070 * include/bits/align.h: Switch to bits/version.h for defining
4071 __cpp_lib_assume_aligned.
4072 (assume_aligned): Guard with __cpp_lib_assume_aligned.
4073 * include/bits/algorithmfwd.h: Switch to bits/version.h for
4074 defining __cpp_lib_constexpr_algorithms.
4075 * include/std/stacktrace: Switch to bits/version.h for
4076 __cpp_lib_stacktrace. Guard header behind that FTM.
4077 * testsuite/23_containers/array/tuple_interface/get_neg.cc:
4078 Update line numbers.
4080 2023-08-16 Arsen Arsenović <arsen@aarsen.me>
4082 * include/Makefile.am (bits_freestanding): Add version.h.
4083 (allcreated): Add version.h.
4084 (${bits_srcdir}/version.h): New rule. Regenerates
4085 version.h out of version.{def,tpl}.
4086 * include/Makefile.in: Regenerate.
4087 * include/bits/version.def: New file. Declares a list of
4088 all feature test macros, their values and their preconditions.
4089 * include/bits/version.tpl: New file. Turns version.def
4090 into a sequence of #if blocks.
4091 * include/bits/version.h: New file. Generated from
4093 * include/std/version: Replace with a __glibcxx_want_all define
4094 and bits/version.h include.
4096 2023-08-14 Paul Dreik <gccpatches@pauldreik.se>
4099 * include/std/format (__formatter_fp::format): Use frexp instead
4102 2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org>
4104 * include/std/type_traits (true_type): Use __bool_constant
4106 (false_type): Likewise.
4107 (bool_constant): Likewise.
4109 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4112 * include/std/format (_Seq_sink::get): Only call _M_overflow if
4113 its precondition is met.
4114 (_Iter_sink::_M_finish): Likewise.
4115 (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
4116 internal buffer after running out of space.
4117 (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
4118 (_Counting_sink::count): Likewise.
4119 * testsuite/std/format/functions/format_to_n.cc: Check cases
4120 where the output fits into the buffer.
4122 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4125 * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
4126 to _ChronoParts operators.
4127 (from_stream, parse): Define new functions.
4128 (__detail::_Parse, __detail::_Parser): New class templates.
4129 * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
4131 * include/std/version (__cpp_lib_chrono): Likewise.
4132 * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
4133 Adjust expected value of feature test macro.
4134 * testsuite/20_util/duration/io.cc: Test parsing.
4135 * testsuite/std/time/clock/file/io.cc: Likewise.
4136 * testsuite/std/time/clock/gps/io.cc: Likewise.
4137 * testsuite/std/time/clock/system/io.cc: Likewise.
4138 * testsuite/std/time/clock/tai/io.cc: Likewise.
4139 * testsuite/std/time/clock/utc/io.cc: Likewise.
4140 * testsuite/std/time/day/io.cc: Likewise.
4141 * testsuite/std/time/month/io.cc: Likewise.
4142 * testsuite/std/time/month_day/io.cc: Likewise.
4143 * testsuite/std/time/weekday/io.cc: Likewise.
4144 * testsuite/std/time/year/io.cc: Likewise.
4145 * testsuite/std/time/year_month/io.cc: Likewise.
4146 * testsuite/std/time/year_month_day/io.cc: Likewise.
4147 * testsuite/std/time/syn_c++20.cc: Check value of macro and for
4148 the existence of parse and from_stream in namespace chrono.
4149 * testsuite/std/time/clock/local/io.cc: New test.
4150 * testsuite/std/time/parse.cc: New test.
4152 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4155 * include/std/format (__formatter_fp::format): Do not call log10
4158 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4160 * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
4161 Check for out-of-range month an weekday indices.
4162 * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
4163 month and weekday values.
4165 2023-08-11 Jonathan Wakely <jwakely@redhat.com>
4167 * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
4169 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4172 * include/std/format (_Spec::_S_parse_width_or_precision): Check
4173 for empty range before dereferencing iterator.
4174 * testsuite/std/format/string.cc: Check for expected exception.
4175 Fix expected exception message in test_pr110862() and actually
4178 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4181 * include/std/format (__formatter_fp::format): Check return
4182 value of _M_localize.
4183 * testsuite/std/format/functions/format.cc: Check classic
4186 2023-08-10 Jonathan Wakely <jwakely@redhat.com>
4189 * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
4191 (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
4192 (__detail::__basic_const_iterator_iter_cat): Likewise.
4193 * include/bits/stl_iterator_base_types.h (__iterator_category_t):
4194 Rename to __iter_category_t.
4196 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4198 * include/bits/chrono.h (duration_cast): Do not use braces
4199 around statements for C++11 constexpr rules.
4200 * include/bits/stl_algobase.h (__lg): Rewrite as a single
4201 statement for C++11 constexpr rules.
4202 * include/experimental/bits/fs_path.h (path::string): Use
4203 _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
4204 * include/std/charconv (__to_chars_8): Initialize variable for
4205 C++17 constexpr rules.
4207 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4209 * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
4210 warning for loop condition.
4212 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4214 * include/std/complex: Add diagnostic pragma for clang.
4216 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4218 * include/bits/shared_ptr_atomic.h (atomic): Change class-head
4220 * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
4221 class-head to struct in friend declaration.
4222 * include/std/chrono (tzdb_list::_Node): Likewise.
4223 * include/std/future (_Task_state_base, _Task_state): Likewise.
4224 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4225 * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
4226 (_ValFunClos, _RefFunClos): Change class-head to struct.
4228 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4230 * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
4232 * include/bits/regex_executor.tcc: Remove name of unused
4234 * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
4236 * include/bits/stl_uninitialized.h: Likewise.
4237 * include/bits/streambuf_iterator.h (operator==): Likewise.
4238 * include/bits/uses_allocator.h: Likewise.
4239 * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
4240 * include/std/chrono (zoned_time): Likewise.
4241 * include/std/future (__future_base::_S_allocate_result):
4243 (packaged_task): Likewise.
4244 * include/std/optional (_Optional_payload_base): Likewise.
4245 * include/std/scoped_allocator (__inner_type_impl): Likewise.
4246 * include/std/tuple (_Tuple_impl): Likewise.
4248 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4250 * include/bits/new_allocator.h (__new_allocator): Define copy
4251 assignment operator as defaulted.
4252 * include/std/complex (complex<float>, complex<double>)
4253 (complex<long double>): Define copy constructor as defaulted.
4255 2023-08-09 Jonathan Wakely <jwakely@redhat.com>
4257 * include/std/format: Fix some warnings.
4258 (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
4259 unused function template.
4261 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4264 * include/std/format (__formatter_fp::format): Do not use
4265 __builtin_abs and __builtin_log10 with arbitrary floating-point
4268 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4271 * include/std/format (__format::_Iter_sink<CharT, OutIter>):
4272 Constrain partial specialization for contiguous iterators to
4273 require the value type to be CharT.
4274 * testsuite/std/format/functions/format_to.cc: New test.
4276 2023-08-07 Jonathan Wakely <jwakely@redhat.com>
4279 * include/std/format (_Scanner::_M_on_replacement_field):
4280 Check for expected '}' before incrementing iterator.
4281 * testsuite/std/format/string.cc: Check "{0:{0}" format string.
4283 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4285 * configure: Regenerate.
4287 2023-08-07 Alan Modra <amodra@gmail.com>
4289 * configure: Regenerate.
4291 2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
4293 * configure: Regenerate.
4295 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4297 * configure: Regenerate.
4299 2023-08-07 Nick Alcock <nick.alcock@oracle.com>
4301 * configure: Regenerate.
4303 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
4305 * configure: Regenerate.
4307 2023-08-07 H.J. Lu <hjl.tools@gmail.com>
4309 * configure: Regenerate.
4311 2023-08-06 François Dumont <fdumont@gcc.gnu.org>
4313 * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
4316 2023-07-30 François Dumont <fdumont@gcc.gnu.org>
4318 * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
4320 * src/c++11/locale-inst-monetary.h: Likewise.
4321 * src/c++11/locale-inst-numeric.h: Likewise.
4323 2023-07-27 Jonathan Wakely <jwakely@redhat.com>
4326 * include/std/format (__formatter_fp::format): Ensure __expc is
4327 always set for all presentation types. Set __z correctly for
4329 * testsuite/std/format/functions/format.cc: Check problem cases.
4331 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4334 * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
4336 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4339 * include/bits/stl_bvector.h (vector(const vector&)): Access
4340 iterators before allocating.
4341 * include/bits/vector.tcc (vector<bool>::_M_insert_range):
4343 * testsuite/23_containers/vector/bool/110807.cc: New test.
4345 2023-07-26 Jonathan Wakely <jwakely@redhat.com>
4347 * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
4349 * include/bits/stl_algo.h (random_shuffle): Correct comments.
4350 * testsuite/25_algorithms/random_shuffle/1.cc: Disable
4351 deprecated warnings.
4352 * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
4353 * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
4354 * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
4357 2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
4359 * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
4361 * testsuite/26_numerics/gcd/105844.cc: Likewise.
4362 * testsuite/26_numerics/lcm/105844.cc: Likewise.
4364 2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
4366 * include/std/format (_Formatting_scanner::_M_on_chars): Add
4367 missing constexpr specifier.
4368 (_Formatting_scanner::_M_format_arg): Likewise.
4370 2023-07-24 Jonathan Wakely <jwakely@redhat.com>
4373 * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
4374 throw an exception for zero result.
4375 [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
4377 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4380 * src/c++17/floating_from_chars.cc (from_chars): Only define
4381 _Float128 overload when using __strfromf128.
4383 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4386 * include/bits/chrono.h (duration): Improve static assert
4388 (__is_ratio): Move to ...
4389 * include/std/ratio (__is_ratio): ... here.
4390 (__is_ratio_v): New variable template and partial
4392 (__are_both_ratios): New function template.
4393 (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
4394 Add static assertion.
4395 * testsuite/20_util/ratio/requirements/type_constraints.cc:
4397 * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
4398 Adjust expected error.
4399 * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
4402 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4404 * include/bits/chrono_io.h (__formatter_chrono::_M_format):
4405 Do not set __is_neg for hh_mm_ss before calling
4406 _M_format_to_ostream. Change __print_sign lambda to only check
4407 __is_neg for durations and hh_mm_ss types.
4408 (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
4410 * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
4412 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4415 * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
4416 Handle duration and hh_mm_ss.
4417 * testsuite/20_util/duration/io.cc: Check locale-specific
4419 * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
4421 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4423 * include/std/format (__write_padded): Initialize first element
4424 of array to avoid a -Wmaybe-uninitialized warning.
4426 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4429 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
4430 allowed modifiers for %z and %Z. Fix -Wparentheses and
4431 -Wnarrowing warnings.
4432 (__formatter_chrono::_M_format): Call new functions for %d, %e,
4434 (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
4435 subsecond precision.
4436 (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
4438 (__formatter_chrono::_M_e): Replace with _M_d_e and use
4440 (__formatter_chrono::_M_I): Replace with _M_H_I and use
4442 (__formatter_chrono::_M_m): New function.
4443 (__formatter_chrono::_M_M): New function.
4444 (__formatter_chrono::_M_r): Use _M_locale_fmt.
4445 (__formatter_chrono::_M_S): Likewise.
4446 (__formatter_chrono::_M_u_w): Likewise.
4447 (__formatter_chrono::_M_U_V_W): Likewise.
4448 (__formatter_chrono::_M_X): Use _S_floor_seconds.
4449 (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
4450 (__formatter_chrono::_S_altnum): Remove function.
4451 (__formatter_chrono::_S_dd_zero_fill): Remove function.
4452 (__formatter_chrono::_S_floor_seconds): New function.
4453 (__formatter_chrono::_M_locale_fmt): New function.
4454 * testsuite/std/time/clock/system/io.cc: Adjust expected output
4455 for locale-specific formats and check modified formats.
4456 * testsuite/std/time/clock/utc/io.cc: Likewise.
4457 * testsuite/std/time/zoned_time/io.cc: New test.
4459 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4462 * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
4463 allow a single modifier.
4464 * testsuite/std/time/format.cc: Check multiple modifiers.
4466 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4469 * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
4470 Remove dg-require-string-conversions.
4471 * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
4473 * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
4475 * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
4477 * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
4480 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4483 * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
4484 Define in terms of std::stod.
4486 2023-07-19 Jonathan Wakely <jwakely@redhat.com>
4489 * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
4491 [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
4492 * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
4493 Declare in namespace std.
4494 [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
4496 2023-07-13 Jonathan Wakely <jwakely@redhat.com>
4499 * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
4500 depend on _GLIBCXX_USE_C99_STDLIB.
4501 [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
4502 in terms of stol and stoul respectively.
4503 [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
4506 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4509 * testsuite/27_io/filesystem/path/construct/95048.cc: Check
4510 conversions to wide strings.
4511 * testsuite/experimental/filesystem/path/construct/95048.cc:
4514 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4516 * config/io/basic_file_stdio.cc: Define LFS macros.
4517 (__basic_file<char>::open): Use fopen unconditionally.
4518 (get_file_offset): Use lseek unconditionally.
4519 (__basic_file<char>::seekoff): Likewise.
4520 (__basic_file<char>::showmanyc): Use fstat unconditionally.
4522 2023-07-12 Jonathan Wakely <jwakely@redhat.com>
4525 * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
4526 and define _GLIBCXX_USE_FSEEKO_FTELLO.
4527 * config.h.in: Regenerate.
4528 * configure: Regenerate.
4529 * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
4530 Check for fwrite error correctly.
4531 (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
4532 fread error correctly.
4533 (get_file_offset): New function.
4534 (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
4535 fseeko if available. Use get_file_offset instead of return value
4537 (__basic_file<char>::showmanyc): Use get_file_offset.
4539 2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
4541 * include/std/type_traits (__make_unsigned_selector): Use
4542 __is_enum built-in trait.
4543 (__make_signed_selector): Likewise.
4544 (__underlying_type_impl): Likewise.
4546 2023-07-06 Tianqiang Shuai <1101282468@qq.com>
4548 * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
4551 2023-07-06 Jonathan Wakely <jwakely@redhat.com>
4554 * doc/xml/manual/configure.xml: Describe stdio_pure argument to
4556 * doc/html/manual/configure.html: Regenerate.
4558 2023-07-05 Thomas Rodgers <trodgers@redhat.com>
4560 * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
4562 * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
4564 * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
4566 * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
4568 * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
4570 * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
4573 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4575 * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
4576 Skip as UNSUPPORTED for C++98 mode.
4577 * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
4580 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4583 * include/bits/stl_uninitialized.h (__uninitialized_default_n):
4584 Do not use std::fill_n during constant evaluation.
4586 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4588 * include/bits/vector.tcc (_M_default_append): Replace try-block
4591 2023-07-05 Jonathan Wakely <jwakely@redhat.com>
4593 * include/bits/iterator_concepts.h (projected): Add typename.
4595 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4597 * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
4598 wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
4600 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4602 * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
4603 _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
4604 Define to OpenMP 5.0 pragmas even for GCC 10.0+.
4605 (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
4607 2023-07-03 Jonathan Wakely <jwakely@redhat.com>
4609 * include/bits/alloc_traits.h (_Destroy): Qualify call.
4610 * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
4611 * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
4613 2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
4615 * testsuite/lib/libstdc++.exp: Remove additional flag handled
4618 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4621 * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
4622 * config.h.in: Regenerate.
4623 * configure: Regenerate.
4624 * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
4625 * include/std/iostream: Use new autoconf macro as well as
4627 * src/c++98/ios_base_init.h: Use new autoconf macro instead of
4630 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4632 * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
4635 2023-06-30 Jonathan Wakely <jwakely@redhat.com>
4638 * src/c++11/random.cc (random_device::_M_init): Throw
4639 std::system_error when the requested device is a valid token but
4640 not available at runtime.
4642 2023-06-30 Hans-Peter Nilsson <hp@axis.com>
4645 * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
4646 __INT32_TYPE__ instead of int32_t.
4648 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
4650 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
4651 with USE_ATOMIC_LIST_HEAD.
4652 (list_mutex): Replace global object with function. Use local
4653 static object when std::mutex constructor isn't constexpr.
4655 2023-06-29 Jonathan Wakely <jwakely@redhat.com>
4658 * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
4659 copy_file_range can be called with loff_t* arguments.
4660 * configure: Regenerate.
4661 * src/filesystem/ops-common.h (copy_file_copy_file_range):
4662 Use loff_t for offsets.
4664 2023-06-29 Tom Tromey <tromey@adacore.com>
4666 * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
4669 2023-06-28 Jan Hubicka <jh@suse.cz>
4671 PR middle-end/109849
4672 * include/bits/c++config (std::__terminate): Mark cold.
4673 * include/bits/functexcept.h: Mark everything as cold.
4674 * libsupc++/exception: Mark terminate and unexpected as cold.
4676 2023-06-26 Thomas Rodgers <trodgers@redhat.com>
4678 * include/pstl/algorithm_fwd.h: Synchronize with upstream.
4679 * include/pstl/algorithm_impl.h: Likewise.
4680 * include/pstl/execution_defs.h: Likewise.
4681 * include/pstl/execution_impl.h: Likewise.
4682 * include/pstl/glue_algorithm_impl.h: Likewise.
4683 * include/pstl/glue_execution_defs.h: Likewise.
4684 * include/pstl/glue_memory_impl.h: Likewise.
4685 * include/pstl/glue_numeric_impl.h: Likewise.
4686 * include/pstl/memory_impl.h: Likewise.
4687 * include/pstl/numeric_fwd.h: Likewise.
4688 * include/pstl/numeric_impl.h: Likewise.
4689 * include/pstl/parallel_backend.h: Likewise.
4690 * include/pstl/parallel_backend_serial.h: Likewise.
4691 * include/pstl/parallel_backend_tbb.h: Likewise.
4692 * include/pstl/parallel_impl.h: Likewise.
4693 * include/pstl/pstl_config.h: Likewise.
4694 * include/pstl/unseq_backend_simd.h: Likewise.
4695 * include/pstl/utils.h: Likewise.
4696 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
4698 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
4700 * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
4702 * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
4704 * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
4705 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
4707 * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
4709 * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
4711 * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
4713 * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
4715 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
4717 * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
4719 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
4721 * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
4723 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
4725 * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
4727 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
4729 * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
4731 * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
4733 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
4735 * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
4737 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
4739 * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
4741 * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
4743 * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
4745 * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
4747 * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
4749 * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
4751 * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
4753 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
4755 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
4757 * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
4759 * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
4761 * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
4763 * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
4765 * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
4767 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
4769 * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
4771 * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
4773 * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
4775 * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
4777 * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
4779 * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
4781 * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
4783 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
4785 * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
4787 * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
4789 * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
4791 * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
4793 * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
4795 * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
4797 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
4799 * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
4801 * testsuite/util/pstl/test_utils.h:
4804 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4807 * include/std/format (__format::__parse_integer): Fix buffer
4808 overflow for wide chars.
4809 (formatter<const void*, C>::format): Cast to uintptr_t instead
4811 * testsuite/std/format/string.cc: Test too-large widths.
4813 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4815 * include/bits/iterator_concepts.h (projected): Replace class
4816 template with alias template denoting an ADL-proofed helper.
4817 (incremental_traits<projected<Iter, Proj>>): Remove.
4818 * testsuite/24_iterators/indirect_callable/projected-adl.cc:
4821 2023-06-26 Jonathan Wakely <jwakely@redhat.com>
4823 * include/debug/helper_functions.h (__get_distance)
4824 (__check_singular, __valid_range_aux, __valid_range): Qualify
4825 calls to disable ADL.
4826 (__check_singular_aux(const _Safe_iterator_base*)): Declare
4827 overload that was previously found via ADL.
4829 2023-06-23 Jonathan Wakely <jwakely@redhat.com>
4831 * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
4834 2023-06-20 Jonathan Wakely <jwakely@redhat.com>
4836 * include/std/array (to_array(T(&)[N])): Remove redundant
4838 (to_array(T(&&)[N])): Remove redundant std::move.
4840 2023-06-16 Alexandre Oliva <oliva@adacore.com>
4842 * testsuite/20_util/from_chars/4.cc: Skip long double on
4845 2023-06-16 Joel Brobecker <brobecker@adacore.com>
4847 * configure.ac ["x${with_newlib}" = "xyes"]: Define
4848 HAVE_HYPOTF. Add compile-checks for various long double
4849 math functions as well.
4850 * configure: Regenerate.
4852 2023-06-14 Jonny Grant <jg@jguk.org>
4854 * doc/xml/manual/extensions.xml: Remove demangle exception
4855 description and include.
4856 * doc/html/manual/ext_demangling.html: Regenerate.
4858 2023-06-10 Hans-Peter Nilsson <hp@axis.com>
4860 * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
4861 [! SIMULATOR_TEST]: Also exclude running test05.
4862 * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
4864 2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
4866 * include/std/type_traits: Use using instead of typedef
4868 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4871 * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
4872 Only define if _Float128 and long double have different
4875 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4878 * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
4879 (basic_endpoint, basic_resolver_entry, resolver_base)
4880 (basic_resolver_results, basic_resolver): Only define if the tcp
4881 or udp protocols will be defined.
4883 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4885 * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
4886 * configure: Regenerate.
4887 * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
4888 * doc/html/manual/abi.html: Regenerate.
4890 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4893 * include/std/format (formatter<const void*, charT>::parse):
4894 Only alow 0 and P for C++26 and non-strict modes.
4895 (formatter<const void*, charT>::format): Use toupper for P
4896 type, and insert zero-fill characters for 0 option.
4897 * testsuite/std/format/functions/format.cc: Check pointer
4898 formatting. Only check P2510R3 extensions conditionally.
4899 * testsuite/std/format/parse_ctx.cc: Only check P2510R3
4900 extensions conditionally.
4902 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4905 * include/std/array (to_array): Initialize arrays of trivial
4906 types using memcpy. For non-trivial types, use lambda
4907 expressions instead of a separate helper function.
4908 (__to_array): Remove.
4909 * testsuite/23_containers/array/creation/110167.cc: New test.
4911 2023-06-09 Jonathan Wakely <jwakely@redhat.com>
4913 * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
4915 * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
4917 * testsuite/23_containers/list/modifiers/emplace/52799.cc:
4919 * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
4921 * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
4923 * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
4925 * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
4927 * testsuite/23_containers/list/modifiers/emplace/1.cc: New
4929 * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
4932 2023-06-07 Jakub Jelinek <jakub@redhat.com>
4935 * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
4936 (double_to_chars_test_cases,
4937 double_scientific_precision_to_chars_test_cases_2,
4938 double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
4939 and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
4940 Add unconditional tests with corresponding double constants
4941 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
4942 0x1.7440bbff418b9p-18.
4944 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4946 * testsuite/util/testsuite_abi.cc (check_version): Re-add
4949 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4951 * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
4952 Require effective target exceptions_enabled instead of using
4954 * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
4955 shrink_to_fit() to be a no-op without exceptions enabled.
4956 * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
4958 * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
4959 Require effective target exceptions_enabled.
4960 * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
4962 * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
4964 * testsuite/ext/new_allocator/check_allocate_max_size.cc:
4966 * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
4968 * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
4971 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
4973 * testsuite/20_util/duration/cons/2.cc: Use values that aren't
4974 affected by rounding.
4975 * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
4976 double before comparing for equality.
4977 * testsuite/20_util/from_chars/6.cc: Likewise.
4978 * testsuite/20_util/variant/86874.cc: Use values that aren't
4979 affected by rounding.
4980 * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
4981 original value instead of to floating-point-literal.
4982 * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
4983 Cast arithmetic result to double before comparing for equality.
4984 * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
4986 * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
4988 * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
4989 the absolute difference is less than 0.01 instead of comparing
4990 to two decimal places.
4991 * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
4992 Cast arithmetic result to double before comparing for equality.
4993 * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
4995 * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
4997 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
4999 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
5001 * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
5003 * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
5005 2023-06-07 Jonathan Wakely <jwakely@redhat.com>
5008 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5010 * configure.ac: Use AS_IF.
5011 * configure: Regenerate.
5013 2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
5015 * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
5016 'UNSUPPORTED: [...]: exception handling disabled'.
5018 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5020 * testsuite/util/testsuite_abi.cc (check_version): Add
5021 CXXABI_1.3.15 symver and make it the latestp. Remove
5022 GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
5024 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5025 Jakub Jelinek <jakub@redhat.com>
5028 * include/std/limits: (numeric_limits<__float128>): Define
5029 for __STRICT_ANSI__ as well.
5030 * testsuite/18_support/numeric_limits/128bit.cc: Remove
5031 check for __STRICT_ANSI__.
5033 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5035 * configure.ac: Use AS_IF.
5036 * configure: Regenerate.
5038 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5041 * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
5042 to avoid casts to other vector types. Implement store as
5043 succession of power-of-2 sized memcpy to avoid PR90424.
5045 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5048 * include/experimental/bits/simd_builtin.h (_S_masked_store):
5049 Call into deduced ABI's SimdImpl after conversion.
5050 * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
5051 Don't use _mm_maskmoveu_si128. Use the generic fall-back
5052 implementation. Also fix masked stores without SSE2, which
5053 were not doing anything before.
5055 2023-06-06 Matthias Kretz <m.kretz@gsi.de>
5057 * include/experimental/bits/simd.h (__bit_cast): Use
5058 __gnu__::__vector_size__ instead of gnu::vector_size.
5060 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5063 * include/std/array (__array_traits<T, 0>::operator T*()): Make
5064 conversion operator explicit.
5065 (array::front): Use size_type as subscript operand.
5066 (array::data): Use static_cast to make conversion explicit.
5067 * testsuite/23_containers/array/element_access/110139.cc: New
5070 2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
5072 * include/bits/locale_classes.tcc: Remove check for
5073 codecvt<char8_t, char, mbstate_t> facet.
5075 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5077 * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
5078 close-on-exec flag on file descriptors.
5080 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
5083 * src/filesystem/ops-common.h (do_copy_file): Check for empty
5084 files by trying to read a character.
5085 * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
5088 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5090 * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
5091 * config.h.in: Regenerate.
5092 * configure: Regenerate.
5093 * src/filesystem/ops-common.h (copy_file_copy_file_range):
5094 Define new function.
5095 (do_copy_file): Use it.
5097 2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
5099 * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
5100 * config.h.in: Regenerate.
5101 * configure: Regenerate.
5102 * src/filesystem/ops-common.h (copy_file_sendfile): Define new
5103 function for sendfile logic. Loop to support large files. Skip
5105 (do_copy_file): Use it.
5107 2023-06-04 Jason Merrill <jason@redhat.com>
5110 * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
5111 * config/abi/pre/gnu.ver: Add it.
5113 2023-06-02 François Dumont <fdumont@gcc.gnu.org>
5115 * include/parallel/algobase.h: Include <parallel/search.h>.
5117 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5119 * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
5120 Add const to equality operator.
5122 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5124 * include/std/expected (expected::and_then, expected::or_else)
5125 (expected::transform_error): Use _M_val and _M_unex instead of
5126 calling value() and error(), as per LWG 3938.
5127 (expected::transform): Likewise. Remove incorrect std::move
5128 calls from lvalue overloads.
5129 (expected<void, E>::and_then, expected<void, E>::or_else)
5130 (expected<void, E>::transform): Use _M_unex instead of calling
5132 * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
5133 and transform, and for std::expected<void, E>.
5134 * testsuite/20_util/expected/lwg3938.cc: New test.
5136 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5139 * include/bits/stl_vector.h (_Vector_base::_M_invariant):
5141 (vector::size, vector::capacity): Remove calls to _M_invariant.
5142 * include/bits/vector.tcc (vector::_M_fill_assign): Add
5143 optimization hint to reallocating path.
5144 (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
5146 * testsuite/23_containers/vector/capacity/invariant.cc: Moved
5148 * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
5149 ...here. Check assign(FwdIter, FwdIter) too.
5150 * testsuite/23_containers/vector/types/1.cc: Revert addition
5151 of -Wno-stringop-overread option.
5153 2023-06-01 Jonathan Wakely <jwakely@redhat.com>
5155 * doc/xml/manual/evolution.xml: Document removal of implicit
5156 allocator rebinding extensions in strict mode and for C++20.
5157 * doc/html/*: Regenerate.
5159 2023-06-01 Jason Merrill <jason@redhat.com>
5161 * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
5162 handlers in the cleanup phase.
5164 2023-06-01 Matthias Kretz <m.kretz@gsi.de>
5167 * include/experimental/bits/simd.h (__vectorized_sizeof): With
5168 __have_neon_a32 only single-precision float works (in addition
5171 2023-06-01 François Dumont <fdumont@gcc.gnu.org>
5173 * include/bits/stl_algo.h
5174 (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
5175 * include/bits/stl_algobase.h: ...here.
5176 * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
5177 * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
5178 (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
5180 * include/parallel/algobase.h: ...here.
5181 * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
5182 includes. Include <bits/stl_algobase.h>.
5184 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5187 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
5188 float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
5189 * config.h.in: Regenerate.
5190 * configure: Regenerate.
5191 * include/c_global/cmath (float_t, double_t): Guard using new
5192 _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
5194 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5196 * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
5197 functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
5198 for C99 rounding functions to here.
5199 (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
5200 functions from here.
5201 * config.h.in: Regenerate.
5202 * configure: Regenerate.
5203 * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
5204 of _GLIBCXX_USE_C99_MATH_TR1.
5205 * include/bits/random.tcc: Likewise.
5206 * include/c_compatibility/math.h: Likewise.
5207 * include/c_global/cmath: Likewise.
5208 * include/ext/random: Likewise.
5209 * include/ext/random.tcc: Likewise.
5210 * include/std/complex: Likewise.
5211 * testsuite/20_util/from_chars/4.cc: Likewise.
5212 * testsuite/20_util/from_chars/8.cc: Likewise.
5213 * testsuite/26_numerics/complex/proj.cc: Likewise.
5214 * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
5215 * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
5217 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
5219 * testsuite/util/testsuite_random.h: Likewise.
5221 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5223 * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
5225 (vector::size(), vector::capacity()): Call _M_invariant().
5226 * testsuite/23_containers/vector/capacity/invariant.cc: New test.
5227 * testsuite/23_containers/vector/types/1.cc: Add suppression for
5228 false positive warning (PR110060).
5230 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5233 * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
5234 defined before trying to use _Float128.
5236 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5238 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
5239 to check __INT_PTR_WIDTH__ instead of sizeof(void*).
5240 * configure: Regenerate.
5242 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5244 * include/bits/unique_lock.h: Include <bits/error_constants.h>
5245 here for std::errc constants.
5246 * include/std/mutex: Do not include <bits/error_constants.h> and
5249 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5251 * configure.ac: Replace use of -o operator for test.
5252 * configure: Regenerate.
5254 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5256 * include/std/scoped_allocator (scoped_allocator_adaptor): Add
5257 noexcept to all constructors except the default constructor.
5258 (scoped_allocator_adaptor::inner_allocator): Add noexcept.
5259 (scoped_allocator_adaptor::outer_allocator): Likewise.
5260 * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
5262 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5265 * include/std/limits (numeric_limits<__float128>): Define.
5266 * testsuite/18_support/numeric_limits/128bit.cc: New test.
5268 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5270 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
5271 msp430 to all 16-bit targets.
5272 * configure: Regenerate.
5274 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5277 * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
5278 Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
5279 (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
5281 (from_chars(const char*, const char*, double&, chars_format)):
5282 Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
5283 (from_chars(const char*, const char*, _Float128&, chars_format))
5284 Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
5285 defined, otherwise parse a long double and convert to _Float128.
5287 2023-05-31 Jonathan Wakely <jwakely@redhat.com>
5290 * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
5291 Add deprecated attribute to non-standard overload.
5292 * doc/xml/manual/evolution.xml: Document deprecation.
5293 * doc/html/*: Regenerate.
5294 * testsuite/27_io/manipulators/standard/char/1.cc: Add
5295 dg-warning for expected deprecated warning.
5296 * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
5297 * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
5298 * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
5300 2023-05-30 Alexandre Oliva <oliva@adacore.com>
5302 * testsuite/20_util/from_chars/4.cc: Skip long double test06
5304 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
5307 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5310 * include/experimental/bits/simd.h (to_native): Use int NTTP
5311 as specified in PTS2.
5312 (to_compatible): Likewise. Add missing tag to call mask
5314 * testsuite/experimental/simd/pr109822_cast_functions.cc: New
5317 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5319 * testsuite/experimental/simd/tests/integer_operators.cc:
5320 Compute expected value differently to avoid getting turned into
5323 2023-05-30 Matthias Kretz <m.kretz@gsi.de>
5325 * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
5326 double <-> (u)long conversion tests conditional on sizeof(long
5327 double) and sizeof(long).
5329 2023-05-26 Matthias Kretz <m.kretz@gsi.de>
5331 * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
5332 Negative __y is UB, so prefer signed compare.
5334 2023-05-25 Jonathan Wakely <jwakely@redhat.com>
5336 * testsuite/util/testsuite_allocator.h (PointerBase): Add
5337 relational operators.
5339 2023-05-25 Alexandre Oliva <oliva@adacore.com>
5341 * testsuite/20_util/to_chars/long_double.cc: Expect execution
5342 fail on x86-vxworks.
5344 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5347 * include/experimental/bits/simd.h (__intrinsic_type): If
5348 __ALTIVEC__ is defined, map gnu::vector_size types to their
5349 corresponding __vector T types without losing unsignedness of
5350 integer types. Also prefer long long over long.
5351 * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
5352 object to the expected unsigned vector type.
5354 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5357 * include/experimental/bits/simd.h (__intrinsic_type):
5358 Specialize __intrinsic_type<double, 8> and
5359 __intrinsic_type<double, 16> in any case, but provide the member
5360 type only with __aarch64__.
5362 2023-05-24 Matthias Kretz <m.kretz@gsi.de>
5365 * include/experimental/bits/simd_neon.h (_S_reduce): Add
5366 constexpr and make NEON implementation conditional on
5367 not __builtin_is_constant_evaluated.
5369 2023-05-23 Matthias Kretz <m.kretz@gsi.de>
5372 * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
5373 Avoid vector builtin subscripting in constant expressions.
5374 (resizing_simd_cast): Avoid memcpy if constant_evaluated.
5375 (const_where_expression, where_expression, where)
5376 (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
5377 _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
5379 * include/experimental/bits/simd_builtin.h (__vector_permute)
5380 (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
5381 (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
5382 (_MaskImplBuiltin::_S_store): Add constexpr.
5383 (_CommonImplBuiltin::_S_store_bool_array)
5384 (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
5385 (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
5386 constant_evaluated case.
5387 * include/experimental/bits/simd_fixed_size.h
5388 (_S_masked_load): Reword comment.
5389 (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
5390 (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
5391 (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
5392 (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
5393 (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
5395 (_SimdTuple::operator[], _M_set): Add constexpr and add
5396 constant_evaluated case.
5397 (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
5398 * include/experimental/bits/simd_scalar.h: Add constexpr.
5399 * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
5400 constexpr and add constant_evaluated case.
5401 (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
5402 (_S_less_equal): Value-initialize to satisfy constexpr
5404 (_MaskImplX86::_S_load): Add constant_evaluated case.
5405 (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
5406 case. Value-initialize local variables.
5407 (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
5408 (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
5410 * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
5413 2023-05-22 Matthias Kretz <m.kretz@gsi.de>
5415 * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
5416 __infn into #ifdef'ed block.
5417 * testsuite/experimental/simd/tests/fpclassify.cc: Declare
5418 constants only when used.
5419 * testsuite/experimental/simd/tests/frexp.cc: Likewise.
5420 * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
5421 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
5423 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
5424 Move totest and expect1 into #ifdef'ed block.
5426 2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
5428 * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
5429 * doc/html/manual/strings.html: Regenerate.
5431 2023-05-17 Jakub Jelinek <jakub@redhat.com>
5434 * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
5436 2023-05-17 Jakub Jelinek <jakub@redhat.com>
5439 * include/c_global/cmath (atan2, fmod, pow): Move
5440 __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
5441 __gnu_cxx::__bfloat16_t overloads.
5442 (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
5444 (fma): Move __gnu_cxx::__promote_3 using template after
5445 _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
5447 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5449 * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
5450 checks for float_round_style and float_denorm_style.
5452 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5454 * include/bits/c++config: Add system_header pragma.
5456 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5458 * include/std/expected (expected::and_then, expected::or_else)
5459 (expected::transform, expected::transform_error): Fix exception
5460 specifications as per LWG 3877.
5461 (expected<void, E>::and_then, expected<void, E>::transform):
5463 * testsuite/20_util/expected/lwg3877.cc: New test.
5465 2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
5467 * include/std/type_traits: Use __bool_constant instead of
5470 2023-05-17 Jonathan Wakely <jwakely@redhat.com>
5472 * configure: Regenerate.
5474 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5477 * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
5478 * config.h.in: Regenerate.
5479 * configure: Regenerate.
5480 * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
5481 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
5482 align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
5483 instead of hardcoded 64.
5485 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5487 * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
5488 mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
5489 functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
5490 * config.h.in: Regenerate.
5491 * configure: Regenerate.
5492 * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
5493 instead of _GLIBCXX_USE_C99_FENV_TR1.
5494 * include/c_global/cfenv: Likewise.
5495 * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
5496 of _GLIBCXX_USE_C99_CTYPE_TR1.
5498 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5500 * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
5501 C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
5502 <inttypes.h> features in C++11 mode and define
5503 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
5504 * config.h.in: Regenerate.
5505 * configure: Regenerate.
5506 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
5507 * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
5508 of _GLIBCXX_USE_C99_STDINT_TR1.
5509 * include/c_compatibility/inttypes.h: Check
5510 _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
5511 instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
5512 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
5513 * include/c_compatibility/stdatomic.h: Check
5514 _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
5515 * include/c_compatibility/stdint.h: Likewise.
5516 * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
5517 and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
5518 _GLIBCXX_USE_C99_INTTYPES_TR1 and
5519 _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
5520 * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
5521 instead of _GLIBCXX_USE_C99_STDINT_TR1.
5522 * include/std/atomic: Likewise.
5523 * src/c++11/cow-stdexcept.cc: Likewise.
5524 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
5526 * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
5529 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5531 * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
5532 functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
5533 * config.h.in: Regenerate.
5534 * configure: Regenerate.
5535 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
5536 * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
5537 instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
5539 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5541 * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
5542 assertion to ensure expected exception is throw.
5544 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5546 * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
5547 printer for chrono::zoned_time for cx11 ABI and tzdb effective
5550 2023-05-16 Jonathan Wakely <jwakely@redhat.com>
5552 * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
5553 _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
5554 * configure: Regenerate.
5556 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5558 * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
5559 to check for nan, nanf, and nanl.
5560 * configure: Regenerate.
5562 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5564 * include/bits/char_traits.h (char_traits<char16_t>): Do not
5565 depend on _GLIBCXX_USE_C99_STDINT_TR1.
5566 (char_traits<char32_t>): Likewise.
5567 * include/experimental/source_location: Likewise.
5569 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5571 * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
5572 (atomic_int_least16_t, atomic_uint_least16_t)
5573 (atomic_int_least32_t, atomic_uint_least32_t)
5574 (atomic_int_least64_t, atomic_uint_least64_t)
5575 (atomic_int_fast16_t, atomic_uint_fast16_t)
5576 (atomic_int_fast32_t, atomic_uint_fast32_t)
5577 (atomic_int_fast64_t, atomic_uint_fast64_t)
5578 (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
5579 * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
5581 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5583 * include/bits/algorithmfwd.h (shuffle): Do not depend on
5584 _GLIBCXX_USE_C99_STDINT_TR1.
5585 * include/bits/ranges_algo.h (shuffle): Likewise.
5586 * include/bits/stl_algo.h (shuffle): Likewise.
5587 * include/ext/random: Likewise.
5588 * include/ext/throw_allocator.h (random_condition): Likewise.
5589 * include/std/random: Likewise.
5590 * src/c++11/cow-string-inst.cc: Likewise.
5591 * src/c++11/random.cc: Likewise.
5593 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5595 * testsuite/experimental/feat-cxx14.cc: Remove dependency on
5596 _GLIBCXX_USE_C99_STDINT_TR1.
5598 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5600 * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
5601 on _GLIBCXX_USE_C99_STDINT_TR1.
5603 2023-05-12 Jonathan Wakely <jwakely@redhat.com>
5605 * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
5606 dependency on _GLIBCXX_USE_C99_STDINT_TR1.
5607 * testsuite/experimental/string_view/typedefs.cc: Likewise.
5609 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5611 * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
5612 (auto_locale, auto_ferounding): New class types.
5613 (from_chars_impl): Use auto_locale and auto_ferounding.
5615 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5618 * include/std/chrono (hh_mm_ss::__fits): Remove variable
5620 (hh_mm_ss::__subseconds): Remove __fits from constraints.
5621 * testsuite/std/time/hh_mm_ss/109772.cc: New test.
5622 * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
5623 hh_mm_ss<duration<int, std::pico>>.
5625 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5627 * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
5628 * include/bits/basic_ios.h: Add static assertion checking
5629 traits_type::value_type.
5630 * include/bits/basic_string.h: Likewise. Do not rebind
5631 allocator, and add static assertion checking its value_type.
5632 (basic_string::_Alloc_traits_impl): Remove class template.
5633 (basic_string::_S_allocate): New static member function.
5634 (basic_string::assign): Use _S_allocate.
5635 * include/bits/basic_string.tcc (basic_string::_M_create)
5636 (basic_string::reserve, basic_string::_M_replace): Likewise.
5637 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
5638 Disable for C++20 and later.
5639 * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
5642 2023-05-11 Jonathan Wakely <jwakely@redhat.com>
5645 * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
5646 and negative zero correctly.
5647 * testsuite/26_numerics/headers/cmath/109758.cc: New test.
5649 2023-05-10 François Dumont <fdumont@gcc.gnu.org>
5651 * include/bits/hashtable_policy.h
5652 (_NodeBuilder<>::_S_build): Use __node_ptr.
5653 (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
5654 (_AllocNode<>): Likewise.
5655 (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
5656 to call std::is_permutation in the non-unique key implementation.
5657 * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
5659 (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
5660 (_Hashtable<>::_M_insert_bucket_begin): Likewise.
5661 (_Hashtable<>::_M_remove_bucket_begin): Likewise.
5662 (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
5664 (_Hashtable<>::find): Likewise.
5665 (_Hashtable<>::_M_emplace): Likewise.
5666 (_Hashtable<>::_M_insert_unique): Likewise.
5668 2023-05-09 Jonathan Wakely <jwakely@redhat.com>
5670 * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
5671 Print floating-point durations correctly.
5672 (StdChronoTimePointPrinter): Support printing only the value,
5673 not the type name. Uncomment handling for known clocks.
5674 (StdChronoZonedTimePrinter): Remove type names from output.
5675 (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
5676 (StdChronoTimeZonePrinter): Add equals sign to output.
5677 * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
5679 2023-05-05 Alexandre Oliva <oliva@adacore.com>
5681 * testsuite/20_util/from_chars/4.cc: Skip long double test06
5683 * testsuite/20_util/to_chars/long_double.cc: Xfail run on
5686 2023-05-04 Jonathan Wakely <jwakely@redhat.com>
5688 * doc/xml/manual/abi.xml (abi.versioning.history): Document
5689 libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
5690 * doc/html/manual/abi.html: Regenerate.
5692 2023-05-04 Florian Weimer <fweimer@redhat.com>
5694 * doc/xml/manual/abi.xml (abi.versioning.history): Add
5695 GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
5698 2023-05-03 Jakub Jelinek <jakub@redhat.com>
5700 * src/c++17/floating_from_chars.cc
5701 (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
5702 _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
5703 * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
5704 _ZSt8to_charsPcS_u9__ieee128.
5705 (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
5706 _ZSt8to_charsPcS_u9__ieee128St12chars_format.
5707 (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
5708 _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
5709 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
5711 2023-05-03 Jakub Jelinek <jakub@redhat.com>
5713 * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
5714 rather than powerpc64-linux-gnu for powerpc64le*-linux*.
5715 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
5716 _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
5717 GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
5719 * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
5722 2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
5723 Jonathan Wakely <jwakely@redhat.com>
5726 * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
5727 Initialize _M_string_length.
5729 2023-05-02 Jakub Jelinek <jakub@redhat.com>
5731 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
5732 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
5733 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
5734 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
5735 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
5736 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
5737 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
5738 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
5740 2023-05-02 Jakub Jelinek <jakub@redhat.com>
5743 * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
5746 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5748 * include/bits/random.h (gamma_distribution): Add to the right
5750 (discrete_distribution, piecewise_constant_distribution)
5751 (piecewise_linear_distribution): Create a new doxygen group and
5752 fix the incomplete doxygen comments.
5753 * include/bits/uniform_int_dist.h (uniform_int_distribution):
5754 Add to doxygen group.
5756 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5758 * include/bits/uses_allocator.h: Add missing @file comment.
5759 * include/bits/regex.tcc: Remove stray doxygen comments.
5760 * include/experimental/memory_resource: Likewise.
5761 * include/std/bit: Tweak doxygen @cond comments.
5762 * include/std/expected: Likewise.
5763 * include/std/numbers: Likewise.
5765 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5767 * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
5770 2023-04-28 Jonathan Wakely <jwakely@redhat.com>
5772 * include/bits/move.h: Simplify opening/closing namespace std.
5774 2023-04-28 Jakub Jelinek <jakub@redhat.com>
5777 * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
5778 _ZSt21ios_base_library_initv.
5779 * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
5780 symver and make it the latestp.
5781 * src/c++98/ios_init.cc (ios_base_library_init): New alias.
5782 * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
5783 * include/std/iostream: If init_priority attribute is supported
5784 and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
5785 symbol into the object.
5786 * configure: Regenerated.
5788 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5790 * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
5791 * include/std/format: Likewise.
5793 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5795 * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
5796 (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
5798 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5800 * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
5802 * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
5804 * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
5806 * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
5808 * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
5810 * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
5811 (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
5812 (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
5813 (_DEFINE_BINARY_OPERATOR): Likewise.
5815 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5817 * include/bits/memory_resource.h: Improve doxygen comments.
5818 * include/std/memory_resource: Likewise.
5820 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5823 * include/bits/basic_string.h: Improve doxygen comments.
5824 * include/bits/cow_string.h: Likewise.
5825 * include/bits/forward_list.h: Likewise.
5826 * include/bits/fs_dir.h: Likewise.
5827 * include/bits/fs_path.h: Likewise.
5828 * include/bits/quoted_string.h: Likewise.
5829 * include/bits/stl_bvector.h: Likewise.
5830 * include/bits/stl_map.h: Likewise.
5831 * include/bits/stl_multimap.h: Likewise.
5832 * include/bits/stl_multiset.h: Likewise.
5833 * include/bits/stl_set.h: Likewise.
5834 * include/bits/stl_vector.h: Likewise.
5835 * include/bits/unordered_map.h: Likewise.
5836 * include/bits/unordered_set.h: Likewise.
5837 * include/std/filesystem: Likewise.
5838 * include/std/iomanip: Likewise.
5840 2023-04-27 Jonathan Wakely <jwakely@redhat.com>
5843 * src/c++11/random.cc (__throw_syserr): New function.
5844 (random_device::_M_init, random_device::_M_init_pretr1): Use new
5845 function for bad tokens.
5846 (random_device::_M_getval): Use new function for read errors.
5847 * testsuite/util/testsuite_random.h (random_device_available):
5848 Change catch handler to use std::system_error.
5850 2023-04-24 Patrick Palka <ppalka@redhat.com>
5852 * include/bits/max_size_type.h (__max_diff_type::operator>>=):
5853 Fix propagation of sign bit.
5854 * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
5855 non-standard 'signed typedef-name'. Add some compile-time tests
5856 for right-shifting a negative __max_diff_type value by more than
5859 2023-04-19 Patrick Palka <ppalka@redhat.com>
5860 Jonathan Wakely <jwakely@redhat.com>
5863 * include/bits/utility.h (_Nth_type): Conditionally define in
5864 terms of __type_pack_element if available.
5865 * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
5866 additional errors from the new built-in.
5868 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5871 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5874 * src/Makefile.am: Move globals_io.cc to here.
5875 * src/Makefile.in: Regenerate.
5876 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5877 * src/c++98/Makefile.in: Regenerate.
5878 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5879 symbol name and then export with GLIBCXX_3.4.31 symver.
5880 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5881 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5883 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5885 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5887 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5889 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5891 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5893 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5895 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5897 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5899 2023-04-19 Jonathan Wakely <jwakely@redhat.com>
5902 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5905 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5907 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5909 * doc/xml/manual/extensions.xml: Fix example to declare and
5910 qualify std::free, and use NULL instead of 0.
5911 * doc/html/manual/ext_demangling.html: Regenerate.
5912 * libsupc++/cxxabi.h: Adjust doxygen comments.
5914 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5917 * config/abi/pre/gnu.ver: Fix preprocessor condition.
5919 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
5922 * src/Makefile.am: Move globals_io.cc to here.
5923 * src/Makefile.in: Regenerate.
5924 * src/c++98/Makefile.am: Remove globals_io.cc from here.
5925 * src/c++98/Makefile.in: Regenerate.
5926 * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
5927 symbol name and then export with GLIBCXX_3.4.31 symver.
5928 (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
5929 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
5931 * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
5933 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
5935 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
5937 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
5939 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
5941 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
5943 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
5945 * config/abi/pre/gnu.ver: Add iostream objects to new symver.
5947 2023-04-18 Patrick Palka <ppalka@redhat.com>
5950 * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
5952 * include/std/ranges (range_adaptor_closure): Define for C++23.
5953 * include/std/version (__cpp_lib_ranges): Bump value for
5955 * testsuite/std/ranges/version_c++23.cc: Bump expected value
5956 of __cpp_lib_ranges.
5957 * testsuite/std/ranges/range_adaptor_closure.cc: New test.
5959 2023-04-18 Patrick Palka <ppalka@redhat.com>
5961 * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
5963 (__cpp_lib_ranges_iota): Likewise.
5964 (__cpp_lib_ranges_find_last): Likewise.
5965 (__cpp_lib_fold): Rename to ...
5966 (__cpp_lib_ranges_fold): ... this.
5967 * include/std/version: As above.
5968 * testsuite/25_algorithms/fold_left/1.cc: Adjust after
5969 renaming __cpp_lib_fold.
5970 * testsuite/std/ranges/version_c++23.cc: Verify values
5971 of the above feature-test macros.
5973 2023-04-18 Patrick Palka <ppalka@redhat.com>
5976 * include/std/ranges (views::_AsConst::operator()): Add
5977 missing const to constant_range test.
5978 * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
5979 Improve formatting. Adjust expected type of v2.
5982 2023-04-14 Patrick Palka <ppalka@redhat.com>
5984 * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
5985 (const_sentinel_t): Likewise.
5986 (range_const_reference_t): Likewise.
5987 (constant_range): Likewise.
5988 (__cust_access::__possibly_const_range): Likewise, replacing ...
5989 (__cust_access::__as_const): ... this.
5990 (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
5991 (__cust_access::_CEnd::operator()): Likewise.
5992 (__cust_access::_CRBegin::operator()): Likewise.
5993 (__cust_access::_CREnd::operator()): Likewise.
5994 (__cust_access::_CData::operator()): Likewise.
5995 * include/bits/ranges_util.h (ranges::__detail::__different_from):
5996 Make it an alias of std::__detail::__different_from.
5997 (view_interface::cbegin): Define for C++23.
5998 (view_interface::cend): Likewise.
5999 * include/bits/stl_iterator.h (__detail::__different_from): Define.
6000 (iter_const_reference_t): Define for C++23.
6001 (__detail::__constant_iterator): Likewise.
6002 (__detail::__is_const_iterator): Likewise.
6003 (__detail::__not_a_const_iterator): Likewise.
6004 (__detail::__iter_const_rvalue_reference_t): Likewise.
6005 (__detail::__basic_const_iter_cat):: Likewise.
6006 (const_iterator): Likewise.
6007 (__detail::__const_sentinel): Likewise.
6008 (const_sentinel): Likewise.
6009 (basic_const_iterator): Likewise.
6010 (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
6011 (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
6012 (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
6014 (make_const_iterator): Define for C++23.
6015 (make_const_sentinel): Likewise.
6016 * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
6017 (as_const_view): Likewise.
6018 (enable_borrowed_range<as_const_view>): Likewise.
6019 (views::__detail::__is_ref_view): Likewise.
6020 (views::__detail::__can_is_const_view): Likewise.
6021 (views::_AsConst, views::as_const): Likewise.
6022 * include/std/span (span::const_iterator): Likewise.
6023 (span::const_reverse_iterator): Likewise.
6024 (span::cbegin): Likewise.
6025 (span::cend): Likewise.
6026 (span::crbegin): Likewise.
6027 (span::crend): Likewise.
6028 * include/std/version (__cpp_lib_ranges_as_const): Likewise.
6029 * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
6030 behave independently of C++20 vs C++23.
6031 * testsuite/std/ranges/version_c++23.cc: Verify value of
6032 __cpp_lib_ranges_as_const macro.
6033 * testsuite/24_iterators/const_iterator/1.cc: New test.
6034 * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
6036 2023-04-14 Patrick Palka <ppalka@redhat.com>
6038 * include/bits/ranges_base.h (__cust_access::__as_const)
6039 (__cust_access::_CBegin, __cust::cbegin)
6040 (__cust_access::_CEnd, __cust::cend)
6041 (__cust_access::_CRBegin, __cust::crbegin)
6042 (__cust_access::_CREnd, __cust::crend)
6043 (__cust_access::_CData, __cust::cdata): Move down definitions to
6044 shortly after the definition of input_range.
6046 2023-04-14 Patrick Palka <ppalka@redhat.com>
6048 * include/bits/ranges_algo.h: Include <optional> for C++23.
6049 (__cpp_lib_fold): Define for C++23.
6050 (in_value_result): Likewise.
6051 (__detail::__flipped): Likewise.
6052 (__detail::__indirectly_binary_left_foldable_impl): Likewise.
6053 (__detail::__indirectly_binary_left_foldable): Likewise.
6054 (___detail:__indirectly_binary_right_foldable): Likewise.
6055 (fold_left_with_iter_result): Likewise.
6056 (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
6057 (__fold_left_fn, fold_left): Likewise.
6058 (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
6060 (__fold_left_first_fn, fold_left_first): Likewise.
6061 (__fold_right_fn, fold_right): Likewise.
6062 (__fold_right_last_fn, fold_right_last): Likewise.
6063 * include/std/version (__cpp_lib_fold): Likewise.
6064 * testsuite/25_algorithms/fold_left/1.cc: New test.
6065 * testsuite/25_algorithms/fold_right/1.cc: New test.
6067 2023-04-14 Jonathan Wakely <jwakely@redhat.com>
6069 * include/std/format (formatter): Add comment to deleted default
6070 constructor of primary template.
6071 (_Checking_scanner): Add static_assert.
6073 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6075 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
6076 * doc/html/*: Regenerate.
6078 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6080 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
6081 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
6082 namespace to avoid clashing with libc struct.
6083 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
6085 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
6086 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
6087 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
6088 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
6089 * testsuite/experimental/synchronized_value.cc: Require gthreads
6090 and add missing option for pthreads targets.
6092 2023-04-12 Patrick Palka <ppalka@redhat.com>
6094 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
6096 (__detail::__range_with_movable_reference): Likewise.
6097 (enumerate_view): Likewise.
6098 (enumerate_view::_Iterator): Likewise.
6099 (enumerate_view::_Sentinel): Likewise.
6100 (views::__detail::__can_enumerate_view): Likewise.
6101 (views::_Enumerate, views::enumerate): Likewise.
6102 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
6103 * testsuite/std/ranges/version_c++23.cc: Verify value of
6104 __cpp_lib_ranges_enumerate.
6105 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
6107 2023-04-12 Patrick Palka <ppalka@redhat.com>
6109 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
6110 Propagate _M_trailing_empty in the const-converting constructor
6112 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
6114 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
6116 2023-04-12 Patrick Palka <ppalka@redhat.com>
6118 * src/c++17/floating_from_chars.cc: Include <algorithm>,
6119 <iterator>, <limits> and <cstdint>.
6121 2023-04-12 Patrick Palka <ppalka@redhat.com>
6124 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
6125 parameter types of the lambda wrapper passed to adjacent_find.
6126 (chunk_by_view::_M_find_prev): Likewise.
6127 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
6130 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6133 * include/experimental/internet (basic_endpoint::basic_endpoint()):
6134 Ensure that the required union members are active. Only define
6135 as constexpr for C++20 and later.
6136 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
6138 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
6139 check constexpr default constructor for C++20 and later.
6140 * testsuite/experimental/net/internet/endpoint/extensible.cc:
6143 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
6145 * src/c++20/tzdata.zi: Import new file from 2023c release.
6147 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6149 * include/precompiled/stdc++.h (C++17): Don't double-include
6150 <charconv>, once with wrong conditions.
6151 * testsuite/18_support/96817.cc: Require hosted.
6152 * testsuite/18_support/bad_exception/59392.cc: Ditto.
6153 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
6154 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
6155 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
6158 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6160 * include/bits/c++config: When __STDC_HOSTED__ is zero,
6161 disable _GLIBCXX_DEBUG and, if it was set, enable
6162 _GLIBCXX_ASSERTIONS.
6163 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
6164 Include <bits/c++config.h> when determining whether debug is
6165 set, in order to inherit the logic from above
6167 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6169 * testsuite/17_intro/versionconflict.cc: New test.
6170 * include/std/version: Allow disabling the system_header pragma
6171 via _GLIBCXX_TESTING_SYSHDR.
6173 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
6175 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
6176 Synchronize the definition block with...
6177 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
6178 ... this one here. Also define the 202202L value, rather than
6179 leaving it up to purely unique_ptr.h, so that the value is
6180 synchronized across all headers.
6181 (__gnu_debug::_Safe_iterator_base): Move into new conditional
6183 * include/std/memory (__cpp_lib_atomic_value_initialization):
6184 Define on freestanding under the same conditions as in
6186 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
6187 Also define on freestanding.
6188 (__cpp_lib_to_chars): Ditto.
6189 (__cpp_lib_gcd): Ditto.
6190 (__cpp_lib_gcd_lcm): Ditto.
6191 (__cpp_lib_raw_memory_algorithms): Ditto.
6192 (__cpp_lib_array_constexpr): Ditto.
6193 (__cpp_lib_nonmember_container_access): Ditto.
6194 (__cpp_lib_clamp): Ditto.
6195 (__cpp_lib_constexpr_char_traits): Ditto.
6196 (__cpp_lib_constexpr_string): Ditto.
6197 (__cpp_lib_sample): Ditto.
6198 (__cpp_lib_lcm): Ditto.
6199 (__cpp_lib_constexpr_iterator): Ditto.
6200 (__cpp_lib_constexpr_char_traits): Ditto.
6201 (__cpp_lib_interpolate): Ditto.
6202 (__cpp_lib_constexpr_utility): Ditto.
6203 (__cpp_lib_shift): Ditto.
6204 (__cpp_lib_ranges): Ditto.
6205 (__cpp_lib_move_iterator_concept): Ditto.
6206 (__cpp_lib_constexpr_numeric): Ditto.
6207 (__cpp_lib_constexpr_functional): Ditto.
6208 (__cpp_lib_constexpr_algorithms): Ditto.
6209 (__cpp_lib_constexpr_tuple): Ditto.
6210 (__cpp_lib_constexpr_memory): Ditto.
6212 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
6214 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
6215 timeout factor on hppa*-*-*.
6217 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
6219 * include/bits/regex.h (sub_match::swap): New function.
6220 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
6222 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
6224 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
6226 * doc/html/manual/ext_demangling.html: Regenerate.
6228 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6230 PR tree-optimization/107087
6231 * include/bits/cow_string.h (basic_string::size()): Add
6232 optimizer hint that _S_empty_rep()._M_length is always zero.
6233 (basic_string::length()): Call size().
6235 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6238 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
6239 Add attribute access with access-mode 'none'.
6240 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
6242 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
6244 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
6245 Revert change from member function to data member. Fix for
6246 constant evaluation by detecting which union member is active.
6247 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
6250 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6253 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
6254 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
6256 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6258 * include/experimental/internet (ip::make_address): Implement
6260 (ip::address_v4::broadcast()): Avoid undefined shift.
6261 (ip::basic_endpoint): Fix member functions for constexpr.
6262 (ip::basic_endpoint::_M_is_v6): Replace member function with
6263 data member, adjust member functions using it.
6264 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
6266 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6267 constexpr checks to work in C++14.
6268 * testsuite/experimental/net/internet/address/v4/creation.cc:
6270 * testsuite/experimental/net/internet/endpoint/cons.cc:
6272 * testsuite/experimental/net/internet/network/v4/cons.cc:
6274 * testsuite/experimental/net/internet/network/v4/members.cc:
6276 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
6278 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6280 * include/std/expected (expected::value() &): Use const lvalue
6281 for unex member passed to bad_expected_access constructor, as
6284 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6287 * include/std/expected (expected::transform): Use
6288 std::remove_cv_t instead of std::remove_cvref_t.
6289 (expected::transform_error): Likewise.
6290 (expected<cv void, E>::transform): Likewise.
6291 (expected<cv void, E>::transform_error): Likewise.
6292 * include/std/optional (transform): Use std::remove_cv_t.
6293 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
6295 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
6297 * include/std/optional (optional): Adjust static assertion to
6298 reject arrays and functions as well as references.
6299 * testsuite/20_util/optional/requirements_neg.cc: New test.
6301 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6304 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
6305 std::use_facet instead of cached _M_num_get facet.
6306 (istream::operator>>(short&)): Likewise.
6307 (istream::operator>>(int&)): Likewise.
6308 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
6309 std::use_facet instead of cached _M_num_put facet.
6311 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6313 * include/bits/char_traits.h (char_traits::copy): Return without
6314 using memcpy if n==0.
6315 (char_traits::assign): Likewise for memset.
6317 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6320 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
6321 hint for compiler that local strings fit in the local buffer.
6323 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
6326 * include/std/chrono (__detail::__get_leap_second_info): Update
6327 expiry date of hardcoded leapseconds list.
6328 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
6330 * src/c++20/tzdata.zi: Import new file from 2023a release.
6331 * testsuite/std/time/time_zone/get_info_local.cc: Only check
6332 transitions for Egypt up to 2014.
6334 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
6336 * include/experimental/bits/simd.h (is_simd_flag_type): New.
6337 (_IsSimdFlagType): New.
6338 (copy_from, copy_to, load ctors): Constrain _Flags using
6341 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
6343 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
6344 _Base::_S_divides if the optimized _S_divides function is hidden
6345 via the preprocessor.
6347 2023-03-27 Jakub Jelinek <jakub@redhat.com>
6349 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
6350 warning if size_t is not unsigned long.
6352 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6354 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
6355 Add overload, as per LWG 3893.
6356 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
6357 Check assignment from nullptr.
6359 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6361 * include/std/format (formatter<const charT[N], charT>): Do not
6362 define partial speclialization, as per LWG 3833.
6363 * testsuite/std/format/formatter/requirements.cc: Check it.
6365 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6367 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
6369 * testsuite/20_util/exchange/constexpr.cc: Check for it.
6371 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6373 * include/std/version (__cpp_lib_format): Define.
6374 * testsuite/std/format/functions/format.cc: Check it.
6376 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6378 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
6379 Pass rvalues to the callback, as now allowed by LWG 3645.
6380 Enforce preconditions on the return value.
6381 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
6384 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6386 * include/std/format: Add a comment noting that the resolution
6387 of LWG 3720 has been applied..
6389 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6391 * include/bits/regex.h (match_results): Add allocator-extended
6392 copy and move constructors, as per LWG 2195.
6393 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
6395 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
6397 * include/bits/stream_iterator.h (istream_iterator): Add
6398 constexpr to copy constructor, as per LWG 3600.
6399 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
6400 Check copy construction.
6402 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6404 * include/experimental/bits/simd_x86.h
6405 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
6406 with __RECIPROCAL_MATH__.
6408 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6410 * include/experimental/bits/simd_detail.h: Don't define
6411 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
6412 * include/experimental/bits/simd_x86.h (_S_divides): Remove
6413 check for __clang__.
6415 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6417 * include/experimental/bits/simd_detail.h: Don't declare the
6418 simd API as constexpr with Clang.
6419 * include/experimental/bits/simd_x86.h (__movm): New.
6420 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
6422 (_SimdImplX86::_S_masked_unary): Clang does not implement the
6423 same builtins. Implement the function using __movm, ?:, and -
6424 operators on vector_size types instead.
6426 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
6428 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
6429 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
6431 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
6433 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
6436 2023-03-20 Marek Polacek <polacek@redhat.com>
6439 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
6440 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
6441 * testsuite/23_containers/span/explicit.cc: Likewise.
6443 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
6446 * include/std/expected (expected<void>::expected(in_place_t)):
6447 Remove template-head.
6449 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
6452 * testsuite/18_support/coroutines/hash.cc: Use const object
6455 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
6458 * include/std/coroutine (hash<>::operator()): Add const.
6459 * testsuite/18_support/coroutines/hash.cc: New test.
6461 2023-03-14 Patrick Palka <ppalka@redhat.com>
6464 * include/std/ranges (repeat_view): Remove redundant parentheses
6466 (repeat_view::_Iterator): Correct the requires-clause.
6468 2023-03-14 Patrick Palka <ppalka@redhat.com>
6470 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
6472 (__cpp_lib_move_iterator_concept): Define for C++20.
6473 (move_iterator::iterator_concept): Strengthen as per P2520R0.
6474 * include/std/version (__cpp_lib_move_iterator_concept): Define
6476 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
6478 2023-03-14 Patrick Palka <ppalka@redhat.com>
6480 * include/bits/ranges_util.h (view_interface::empty): Add
6481 preferred overloads that use ranges::size when the range is
6482 sized as per LWG 3715.
6483 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
6485 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6487 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
6488 Only define for C++17 and later.
6490 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6492 * src/Makefile.am: Add comment about linker script fragments.
6493 * src/Makefile.in: Regenerate.
6495 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
6498 * include/bits/mask_array.h (mask_array): Add assertions to
6499 assignment operators.
6500 * include/std/valarray (valarray::operator[](valarray<bool>)):
6502 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
6503 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
6504 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
6505 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
6506 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
6507 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
6508 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
6509 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
6510 * testsuite/26_numerics/valarray/mask.cc: New test.
6512 2023-03-13 Jakub Jelinek <jakub@redhat.com>
6514 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6515 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
6517 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6519 * doc/Makefile.am: Add comment referring to documentation.
6520 * doc/Makefile.in: Regenerate.
6522 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6524 * doc/html/*: Regenerate.
6526 2023-03-13 Jonny Grant <jg@jguk.org>
6528 * doc/xml/faq.xml: Update copyright year.
6530 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
6532 * include/bits/allocator.h: Fix typo in comment.
6534 2023-03-12 Jakub Jelinek <jakub@redhat.com>
6536 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
6537 if it isn't mangled as DF16b but u6__bf16.
6539 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
6541 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
6543 * doc/html/manual/documentation_hacking.html: Regenerate.
6545 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
6548 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
6549 Remove self-recursion in __init__. Add missing _supports.
6550 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
6553 2023-03-09 Patrick Palka <ppalka@redhat.com>
6555 * include/std/ranges
6556 (cartesian_product_view::_Iterator::_Iterator): Remove
6557 constraint on default constructor as per LWG 3849.
6558 (cartesian_product_view::_Iterator::_M_prev): Adjust position
6559 of _Nm > 0 test as per LWG 3820.
6560 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
6561 checking only on sized cartesian products.
6562 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
6564 2023-03-09 Patrick Palka <ppalka@redhat.com>
6567 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
6569 (repeat_view::_M_pred): Likewise.
6570 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
6571 * testsuite/std/ranges/repeat/1.cc (test05): New test.
6573 2023-03-09 Patrick Palka <ppalka@redhat.com>
6576 * include/std/ranges (__detail::__can_single_view): New concept.
6577 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
6578 end of the function declarator.
6579 (__detail::__can_iota_view): New concept.
6580 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
6581 end of the function declarator.
6582 (__detail::__can_istream_view): New concept.
6583 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
6584 end of the function declarator.
6585 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
6586 * testsuite/std/ranges/istream_view.cc (test08): New test.
6587 * testsuite/std/ranges/single_view.cc (test07): New test.
6589 2023-03-09 Patrick Palka <ppalka@redhat.com>
6592 * include/std/ranges (cartesian_product_view::end): When
6593 building the tuple of iterators, avoid calling ranges::begin on
6594 the first range if __empty_tail is false.
6595 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
6597 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
6600 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
6603 2023-03-07 Jakub Jelinek <jakub@redhat.com>
6605 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
6606 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
6607 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
6608 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
6609 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
6611 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
6614 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
6615 not match symbols in namespace std::__gnu_cxx11_ieee128.
6616 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
6617 std::__gnu_cxx11_ieee128::money_{get,put}.
6619 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
6621 * libsupc++/eh_personality.cc: Fix spelling in comment.
6623 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6625 * testsuite/30_threads/async/async.cc (test04): Initialize
6626 steady_start, renamed from steady_begin, next to slow_start.
6627 Increase tolerance for final wait.
6629 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6631 * testsuite/libstdc++-prettyprinters/80276.cc: Add
6632 std::string to debug info.
6633 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
6635 2023-03-03 Alexandre Oliva <oliva@adacore.com>
6640 * include/bits/std_thread.h (thread::_M_thread_deps): New
6641 static implicitly-inline member function.
6642 (std::thread template ctor): Pass it to _M_start_thread.
6643 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
6644 parameter, force it live on entry.
6646 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
6648 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
6649 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
6651 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
6652 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
6655 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
6657 * include/bits/cow_string.h: Fix typo in comment.
6659 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
6661 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
6662 current time zone cannot be determined.
6663 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
6664 HAVE_TZDB macro and test all members unconditionally.
6666 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6669 * include/bits/uses_allocator_args.h
6670 (uses_allocator_construction_args): Implement LWG 3527.
6671 * testsuite/20_util/pair/astuple/get-2.cc: New test.
6672 * testsuite/20_util/scoped_allocator/108952.cc: New test.
6673 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
6675 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6678 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
6679 Add __assign_one static member function.
6680 (__copy_move<true, false, RA>): Likewise.
6681 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
6683 (__copy_move_backward<IsMove, true, RA>): Likewise.
6684 * testsuite/25_algorithms/copy/108846.cc: New test.
6685 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
6686 * testsuite/25_algorithms/copy_n/108846.cc: New test.
6687 * testsuite/25_algorithms/move/108846.cc: New test.
6688 * testsuite/25_algorithms/move_backward/108846.cc: New test.
6690 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
6692 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
6695 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
6697 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
6699 * include/bits/basic_string.h (resize_and_overwrite): Add
6702 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6704 * include/experimental/bits/simd.h: Line breaks and indenting
6705 fixed to follow the libstdc++ standard.
6706 * include/experimental/bits/simd_builtin.h: Likewise.
6707 * include/experimental/bits/simd_fixed_size.h: Likewise.
6708 * include/experimental/bits/simd_neon.h: Likewise.
6709 * include/experimental/bits/simd_ppc.h: Likewise.
6710 * include/experimental/bits/simd_scalar.h: Likewise.
6711 * include/experimental/bits/simd_x86.h: Likewise.
6713 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6716 * include/experimental/bits/simd_fixed_size.h
6717 (_SimdImplFixedSize::_S_broadcast): Replace inline with
6718 _GLIBCXX_SIMD_INTRINSIC.
6719 (_SimdImplFixedSize::_S_generate): Likewise.
6720 (_SimdImplFixedSize::_S_load): Likewise.
6721 (_SimdImplFixedSize::_S_masked_load): Likewise.
6722 (_SimdImplFixedSize::_S_store): Likewise.
6723 (_SimdImplFixedSize::_S_masked_store): Likewise.
6724 (_SimdImplFixedSize::_S_min): Likewise.
6725 (_SimdImplFixedSize::_S_max): Likewise.
6726 (_SimdImplFixedSize::_S_complement): Likewise.
6727 (_SimdImplFixedSize::_S_unary_minus): Likewise.
6728 (_SimdImplFixedSize::_S_plus): Likewise.
6729 (_SimdImplFixedSize::_S_minus): Likewise.
6730 (_SimdImplFixedSize::_S_multiplies): Likewise.
6731 (_SimdImplFixedSize::_S_divides): Likewise.
6732 (_SimdImplFixedSize::_S_modulus): Likewise.
6733 (_SimdImplFixedSize::_S_bit_and): Likewise.
6734 (_SimdImplFixedSize::_S_bit_or): Likewise.
6735 (_SimdImplFixedSize::_S_bit_xor): Likewise.
6736 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
6737 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
6738 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
6739 explicit about not always-inline, yet).
6740 (_SimdImplFixedSize::_S_isinf): Likewise.
6741 (_SimdImplFixedSize::_S_isfinite): Likewise.
6742 (_SimdImplFixedSize::_S_isnan): Likewise.
6743 (_SimdImplFixedSize::_S_isnormal): Likewise.
6744 (_SimdImplFixedSize::_S_signbit): Likewise.
6746 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
6749 * include/experimental/bits/simd_builtin.h
6750 (_SimdImplBuiltin::_S_masked_unary): More efficient
6751 implementation of masked inc-/decrement for integers and floats
6753 * include/experimental/bits/simd_x86.h
6754 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
6755 builtins for masked inc-/decrement.
6757 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6759 * include/experimental/executor (executor): Constrain template
6762 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6764 * include/experimental/internet (basic_endpoint): Add missing
6765 constexpr to comparison operators.
6766 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
6768 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6770 * include/experimental/internet (network_v4::netmask()): Avoid
6772 (network_v4::broadcast()): Optimize and fix for targets with
6773 uint_least32_t wider than 32 bits.
6774 (network_v4::to_string(const Allocator&)): Fix for custom
6775 allocators and optimize using to_chars.
6776 (operator==(const network_v4&, const network_v4&)): Add missing
6778 (operator==(const network_v6&, const network_v6&)): Likewise.
6779 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
6780 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
6782 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6784 * include/experimental/internet (address_4(const bytes_type&)):
6785 Use __builtin_bit_cast if available, otherwise convert to
6787 (address_v4::to_bytes()): Likewise, but convert from network
6789 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
6790 incorrect tests. Check for constexpr too.
6791 * testsuite/experimental/net/internet/address/v4/creation.cc:
6793 * testsuite/experimental/net/internet/address/v4/members.cc:
6794 Check that bytes_type is a standard-layout type.
6796 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6798 * include/experimental/internet (address_v4::to_string):
6800 * testsuite/experimental/net/internet/address/v4/members.cc:
6801 Check more addresses.
6803 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6805 * include/ext/aligned_buffer.h (__aligned_buffer): Add
6808 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
6810 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
6813 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6815 * testsuite/experimental/simd/tests/reductions.cc: Introduce
6816 max_distance as the type-dependent max error.
6818 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6820 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
6821 int. The actual range of these indexes is very small.
6823 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6825 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
6826 (_S_bit_shift_right): Declare constexpr. The implementation was
6827 already expecting constexpr evaluation.
6829 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6832 * include/experimental/bits/simd_detail.h
6833 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
6836 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
6839 * include/experimental/bits/simd.h (__vector_broadcast):
6840 Implement via __vector_broadcast_impl instead of
6841 __call_with_n_evaluations + 2 lambdas.
6842 (__vector_broadcast_impl): New.
6844 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6846 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
6847 Avoid destruction of the mutex pool.
6849 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6851 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
6853 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
6856 2023-02-22 Alexandre Oliva <oliva@adacore.com>
6858 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
6861 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
6863 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
6865 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
6867 * include/experimental/bits/simd.h (__extract_part, split):
6868 Use reserved name for template parameter.
6870 2023-02-20 Andreas Schwab <schwab@suse.de>
6872 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
6874 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
6876 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
6877 * doc/html/faq.html: Regenerate.
6879 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6881 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
6882 between scalars requires the __bit_cast helper function instead
6885 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6887 * include/experimental/bits/simd_x86.h
6888 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
6889 (_SimdImplX86::_S_less_equal): Do not call
6890 __builtin_is_constant_evaluated in constexpr-if.
6892 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6894 * testsuite/experimental/simd/tests/bits/verify.h
6895 (verify::verify): Use %zx for size_t in format string.
6897 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6899 * testsuite/experimental/simd/generate_makefile.sh: Generate and
6900 pre-compile pch.h, which includes all headers that do not depend
6901 on command-line macros.
6902 * testsuite/experimental/simd/tests/bits/main.h: New file.
6903 (iterate_abis, main): Moved from verify.h.
6904 * testsuite/experimental/simd/tests/bits/verify.h
6905 (iterate_abis, main): Moved to main.h.
6906 * testsuite/experimental/simd/tests/bits/conversions.h: Add
6908 (genHalfBits): Simplify.
6909 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
6911 (make_alternating_mask): Moved from mask_loadstore.
6912 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
6914 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
6915 * testsuite/experimental/simd/tests/mask_loadstore.cc
6916 (make_mask, make_alternating_mask): Removed.
6917 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
6918 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
6920 * testsuite/experimental/simd/tests/abs.cc: Only include
6923 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
6924 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
6925 * testsuite/experimental/simd/tests/casts.cc: Ditto.
6926 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
6927 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
6928 * testsuite/experimental/simd/tests/generator.cc: Ditto.
6929 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
6930 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
6931 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
6932 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
6933 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
6934 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
6935 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
6936 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
6937 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
6938 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
6939 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
6940 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
6941 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
6942 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
6943 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
6944 * testsuite/experimental/simd/tests/simd.cc: Ditto.
6945 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
6946 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
6947 * testsuite/experimental/simd/tests/splits.cc: Ditto.
6948 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
6949 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
6950 * testsuite/experimental/simd/tests/where.cc: Ditto.
6952 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6954 * testsuite/experimental/simd/README.md: Document the timeout
6955 and timeout-factor directives. Minor typo fixed.
6957 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6960 * include/experimental/bits/simd_detail.h: Define
6961 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6962 * include/experimental/bits/simd.h: Annotate lambdas with
6963 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
6964 * include/experimental/bits/simd_builtin.h: Ditto.
6965 * include/experimental/bits/simd_converter.h: Ditto.
6966 * include/experimental/bits/simd_fixed_size.h: Ditto.
6967 * include/experimental/bits/simd_math.h: Ditto.
6968 * include/experimental/bits/simd_neon.h: Ditto.
6969 * include/experimental/bits/simd_x86.h: Ditto.
6971 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
6973 * include/experimental/bits/simd.h
6974 (_SimdWrapper::_M_is_constprop_none_of)
6975 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
6976 computed result still satisfies __builtin_constant_p.
6978 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6980 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
6983 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6985 * include/Makefile.am: Add new header.
6986 * include/Makefile.in: Regenerate.
6987 * include/experimental/synchronized_value: New file.
6988 * testsuite/experimental/synchronized_value.cc: New test.
6990 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6992 * include/experimental/optional: Fix header name in comment.
6994 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
6996 * include/std/format (__format::_Arg_store): New class template.
6997 (basic_format_args): Remove nested type _Store and add deduction
6998 guide from _Arg_store.
6999 (basic_format_arg, make_format_args): Adjust.
7000 * testsuite/std/format/arguments/lwg3810.cc: New test.
7002 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7004 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
7005 constraints to constructors and add deleted overloads for the
7006 dangling cases, as per P2255R2.
7007 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
7008 make dangling cases ill-formed.
7009 * testsuite/20_util/pair/dangling_ref.cc: New test.
7011 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7013 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
7015 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7017 * include/ext/throw_allocator.h: Use reserved names for
7020 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7022 * testsuite/17_intro/names_pstl.cc: Add space after effective
7025 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7027 * include/pstl/algorithm_fwd.h (__pattern_search_n)
7028 (__brick_unique_copy, __brick_adjacent_find)
7029 (__brick_generate_n, __pattern_generate_n): Use reserved names
7031 * include/pstl/algorithm_impl.h (__brick_unique_copy)
7032 (__pattern_reverse, __brick_generate_n): Likewise.
7033 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
7034 (__prefer_parallel_tag): Likewise.
7035 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
7036 * include/pstl/glue_numeric_defs.h (adjacent_difference):
7038 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
7040 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
7041 * include/pstl/unseq_backend_simd.h (_Combiner)
7042 (__simd_min_element, __simd_minmax_element): Likewise.
7043 * testsuite/17_intro/names_pstl.cc: New test.
7045 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
7047 * include/bits/fs_ops.h (create_directory): Use reserved name
7049 * include/bits/ranges_algo.h (__contains_subrange_fn):
7051 * include/bits/regex_automaton.h (_State_base::_M_print):
7053 * include/bits/regex_automaton.tcc(_State_base::_M_print):
7055 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
7056 * include/experimental/bits/fs_ops.h (create_directory):
7058 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
7059 (recursive_timed_mutex:_M_clocklock): Likewise.
7060 * include/std/tuple (basic_common_reference): Likewise.
7061 * libsupc++/cxxabi_init_exception.h
7062 (__cxa_init_primary_exception): Likewise.
7063 * testsuite/17_intro/names.cc: Add checks.
7065 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
7067 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
7068 to www.open-std.org and https.
7069 * doc/html/manual/status.html: Regenerate.
7071 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7074 * include/std/atomic (atomic_flag_wait): Add.
7075 (atomic_flag_wait_explicit): Add.
7076 (atomic_flag_notify): Add.
7077 (atomic_flag_notify_explicit): Add.
7078 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
7079 Add test case to cover missing atomic_flag free functions.
7081 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
7084 * include/std/atomic (atomic_flag_test): Add.
7085 (atomic_flag_test_explicit): Add.
7086 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
7087 test case to cover missing atomic_flag free functions.
7088 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
7091 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
7093 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
7094 "The Component Object Model" reference.
7095 * doc/html/manual/policy_data_structures.html: Regenerate.
7097 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7099 * doc/xml/manual/containers.xml: Tweak a link to N1780
7101 * doc/html/manual/associative.html: Regenerate.
7103 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
7105 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
7106 * doc/html/manual/facets.html: Regenerate.
7108 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
7110 * doc/xml/manual/policy_data_structures_biblio.xml: Update
7111 link to "Worst-case efficient priority queues".
7112 * doc/html/manual/policy_data_structures.html: Regenerate.
7114 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
7116 * doc/xml/manual/using.xml: Document newly-freestanding
7117 headers and the effect of the -ffreestanding flag.
7118 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
7120 * doc/xml/manual/configure.xml: Document that hosted installs
7121 respect __STDC_HOSTED__.
7122 * doc/xml/manual/test.xml: Document how to run tests in
7124 * doc/html/*: Regenerate.
7126 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7128 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
7129 (__find_last_if_fn): Likewise.
7131 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7133 * include/std/type_traits: Add diagnostic pragmas around
7134 references to deprecated std::aligned_storage and
7135 std::aligned_union traits.
7136 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
7137 Add dg-warning for et c++23.
7138 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
7140 * testsuite/20_util/aligned_storage/value.cc: Likewise.
7141 * testsuite/20_util/aligned_union/1.cc: Likewise.
7142 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
7145 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7147 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
7148 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
7149 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
7150 * include/std/type_traits (aligned_storage, aligned_union)
7151 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
7152 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
7153 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
7155 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
7157 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
7158 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
7159 consistent with other 'deprecated' macros.
7160 * include/std/type_traits (is_pod, is_pod_v): Use
7161 _GLIBCXX20_DEPRECATED_SUGGEST instead.
7163 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
7165 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
7166 * Makefile.in: Regenerate.
7167 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
7168 There's no history to be compatible with.
7169 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
7170 source files from the build.
7171 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7172 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7173 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
7174 * src/Makefile.in: Regenerate.
7175 * src/c++11/Makefile.in: Regenerate.
7176 * src/c++17/Makefile.in: Regenerate.
7177 * src/c++20/Makefile.in: Regenerate.
7178 * src/c++98/Makefile.in: Regenerate.
7180 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
7182 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
7183 filesystem, libbacktrace and experimental.
7184 * src/Makefile.in: Regenerate.
7186 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
7189 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
7192 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
7194 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
7195 * doc/html/manual/documentation_hacking.html: Regenerate.
7197 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
7199 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
7200 storage to the move-from instance when allocators are equal.
7201 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
7204 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
7206 * config/os/gnu-linux/os_defines.h [!__linux__]
7207 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
7209 2023-02-03 Patrick Palka <ppalka@redhat.com>
7211 * include/bits/ranges_algo.h (__find_last_fn, find_last):
7213 (__find_last_if_fn, find_last_if): Define.
7214 (__find_last_if_not_fn, find_last_if_not): Define.
7215 * testsuite/25_algorithms/find_last/1.cc: New test.
7216 * testsuite/25_algorithms/find_last_if/1.cc: New test.
7217 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
7219 2023-02-03 Patrick Palka <ppalka@redhat.com>
7221 * include/bits/ranges_algo.h (out_value_result): Define.
7222 (iota_result): Define.
7223 (__iota_fn, iota): Define.
7224 * testsuite/25_algorithms/iota/1.cc: New test.
7226 2023-02-03 Patrick Palka <ppalka@redhat.com>
7228 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
7229 (__contains_subrange_fn, contains_subrange): Define.
7230 * testsuite/25_algorithms/contains/1.cc: New test.
7231 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
7233 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7235 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
7236 * doc/html/manual/abi.html: Regenerate.
7238 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7240 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
7241 errc::function_not_supported instead of errc::not_supported.
7243 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7245 * include/std/sstream (basic_stringbuf::view): Define for old
7247 (basic_istringstream::view, basic_0stringstream::view)
7248 (basic_stringstream::view): Likewise.
7249 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
7250 { dg-require-effective-target cxx11_abi }.
7251 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
7253 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
7254 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
7256 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
7257 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
7258 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
7259 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
7262 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7265 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
7266 conversion operators for directory iterator comparisons with
7267 std::default_sentinel_t.
7268 * include/bits/fs_path.h (path::path(string_view, _Type))
7269 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
7271 * src/c++17/fs_path.cc: ... here.
7272 * testsuite/27_io/filesystem/path/108636.cc: New test.
7274 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
7276 * include/std/variant (variant::operator=): Implement resolution
7278 * testsuite/20_util/variant/lwg3585.cc: New test.
7280 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7282 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
7284 * doc/html/manual/using_exceptions.html: Regenerate.
7286 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
7288 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
7289 * doc/html/manual/debug.html: Regenerate.
7291 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7293 * src/c++11/random.cc (random_device::_M_fini): Do not try to
7294 close the file handle if the target doesn't support the
7295 /dev/random and /dev/urandom files.
7297 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7299 * config/os/generic/error_constants.h (errc::value_too_large)
7301 * src/c++11/system_error.cc
7302 (system_category::default_error_condition) [__AVR__]: Only match
7303 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
7304 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
7305 for ENOENT etc. in switch.
7306 (fs::remove_all) [__AVR__]: Likewise.
7307 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
7310 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
7312 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
7314 * configure: Regenerate.
7316 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
7319 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
7320 struct at end of S0.
7322 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
7324 * doc/xml/manual/shared_ptr.xml: Move links from both
7325 http://open-std.org and http://www.open-std.org to
7326 https://www.open-std.org.
7327 * doc/html/manual/memory.html: Regenerate.
7329 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7331 * doc/xml/manual/appendix_contributing.xml: Adjust link to
7332 ISO C++ standard at ANSI.
7333 Move link to www.open-std.org to https.
7334 * doc/html/manual/appendix_contributing.html: Regenerate.
7336 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7338 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
7340 * doc/html/manual/documentation_hacking.html: Regenerate.
7342 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
7344 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
7345 * doc/html/manual/abi.html: Regenerate.
7347 2023-01-27 Jakub Jelinek <jakub@redhat.com>
7350 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
7351 include features.h if present and then check __GLIBC__ and
7352 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
7353 __GLIBC_PREREQ which isn't defined yet.
7355 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
7357 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
7360 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
7363 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
7365 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7367 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
7368 rules named "+" for compatibility with older tzdata.zi files.
7370 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7373 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
7375 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
7377 * testsuite/23_containers/map/modifiers/108554.cc: New test.
7379 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
7382 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
7383 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
7385 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
7387 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
7389 * doc/html/manual/bugs.html: Regenerate.
7391 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
7394 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
7395 /etc/sysconfig/clock.
7397 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
7400 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
7401 std::make_reverse_iterator.
7402 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
7403 (make_from_tuple): Add static assertion from P2255 to diagnose
7404 dangling references.
7405 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
7406 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
7408 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
7410 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
7411 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
7412 (_Safe_iterator::operator++(int)): Use latter.
7413 (_Safe_iterator::operator--(int)): Likewise.
7414 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
7416 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
7418 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
7419 (_Safe_local_iterator::operator++(int)): Use latter.
7420 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
7421 entry associated to the array entry.
7423 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
7425 * include/bits/fs_path.h (u8path): Add deprecated attribute.
7426 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
7427 -Wno-deprecated-declarations for C++20 and later.
7428 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
7430 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
7431 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
7432 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
7434 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
7436 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
7437 Always call _M_fini and _M_getentropy.
7439 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
7441 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
7442 to www.open-std.org to use https.
7443 (COM: Component Model Object Technologies): Rename from...
7444 (The Component Object Model): ...to.
7445 * doc/html/manual/policy_data_structures.html: Regenerate.
7447 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
7449 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
7450 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
7451 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
7453 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
7455 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
7456 of $host. Fix check for file being present during native build.
7457 * configure: Regenerate.
7459 2023-01-17 Martin Liska <mliska@suse.cz>
7461 * src/libbacktrace/Makefile.in: Regenerate.
7463 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
7465 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
7467 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
7470 * include/c_compatibility/stdatomic.h: Change copyright line to
7471 be consistent with other headers contributed under DCO terms.
7472 * include/std/expected: Add full stop to copyright line.
7473 * src/c++20/tzdb.cc: Likewise.
7475 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
7477 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
7479 * doc/xml/manual/status_cxx2017.xml: Ditto.
7480 * doc/xml/manual/status_cxx2020.xml: Ditto.
7481 * doc/xml/manual/status_cxx2023.xml: Ditto.
7482 * doc/html/manual/status.html: Regenerate.
7484 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7486 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
7487 and fail gracefully if defining the weak symbol doesn't work.
7489 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
7492 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
7493 fix to other iterator category.
7494 (_Safe_iterator<>::operator--(int)): Likewise.
7495 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
7497 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
7498 (invalid_local_iterator_post_increment): New.
7499 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
7501 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
7504 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7506 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
7509 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
7511 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
7513 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
7515 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
7516 windows.h. Add pecoff as FORMAT_FILE.
7517 * config.h.in: Regenerate.
7518 * configure: Regenerate.
7519 * src/libbacktrace/Makefile.am: Regenerate.
7520 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
7522 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
7524 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
7525 raw __name if __cxa_demangle could not demangle it.
7527 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7530 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
7533 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7535 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
7537 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
7539 * testsuite/std/time/tzdb_list/1.cc: Likewise.
7541 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7543 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
7544 --with-libstdcxx-zoneinfo-dir configure option with
7545 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
7547 * config.h.in: Regenerate.
7548 * configure: Regenerate.
7549 * doc/xml/manual/configure.xml: Document configure option.
7550 * doc/html/manual/configure.html: Regenerate.
7551 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
7552 * src/c++20/Makefile.in: Regenerate.
7553 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
7554 null pointer if no directory is configured.
7555 (zoneinfo_dir): Replace with ...
7556 (zoneinfo_file): New function.
7557 (tzdata_stream): New istream class.
7558 (remote_version, reload_tzdb): Use tzdata_stream.
7559 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
7560 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
7561 tzdata.zi file in default location.
7562 * src/c++20/tzdata.zi: New file.
7564 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
7566 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
7567 * testsuite/std/time/month_day/io.cc: New test.
7568 * testsuite/std/time/month_day_last/io.cc: New test.
7569 * testsuite/std/time/month_weekday/io.cc: New test.
7570 * testsuite/std/time/month_weekday_last/io.cc: New test.
7571 * testsuite/std/time/weekday_indexed/io.cc: New test.
7572 * testsuite/std/time/weekday_last/io.cc: New test.
7573 * testsuite/std/time/year_month/io.cc: New test.
7574 * testsuite/std/time/year_month_day_last/io.cc: New test.
7575 * testsuite/std/time/year_month_weekday/io.cc: New test.
7576 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
7578 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
7580 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
7582 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
7585 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7587 * include/bits/std_mutex.h: Include <errno.h>.
7589 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
7591 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
7592 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
7593 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
7594 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
7595 std::make_unique with a freestanding-compatible wrapper around
7597 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
7598 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
7599 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
7601 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
7602 of __cpp_lib_ranges in !HOSTED.
7604 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
7606 * include/Makefile.am: Install bits/char_traits.h,
7608 * include/Makefile.in: Regenerate.
7609 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
7610 mbstate-only bits behind appropriate #ifs.
7611 * include/std/string_view: Gate <iostream> functionality behind
7613 * include/std/version: Enable __cpp_lib_constexpr_string_view
7614 and __cpp_lib_starts_ends_with in !HOSTED.
7615 * include/std/ranges: Re-enable __is_basic_string_view on
7616 freestanding, include <string_view> directly.
7617 * include/precompiled/stdc++.h: Include <string_view> when
7619 * testsuite/20_util/function_objects/searchers.cc: Skip testing
7620 boyer_moore searchers on freestanding
7621 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
7622 <string>-related tests behind __STDC_HOSTED__.
7623 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
7624 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
7625 unused <stdexcept> include.
7626 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
7627 unused <vector> include.
7628 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
7629 Guard <string> related testing behind __STDC_HOSTED__.
7630 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
7631 Guard <stdexcept> related tests behind __STDC_HOSTED__.
7632 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
7634 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
7635 Guard <stdexcept> tests behind __STDC_HOSTED__.
7636 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
7637 Enable test on freestanding, guard <stdexcept> bits behind
7639 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
7640 Guard <stdexcept> bits behind __STDC_HOSTED__.
7641 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
7644 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
7647 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
7648 errors in incomplete multibyte sequences.
7649 (utf16_in): Remove surrogates parameter. Fix conditions for
7651 (utf16_out): Fix condition for returning partial.
7652 (ucs2_in): Do not pass surrogates argument to utf16_in.
7653 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
7654 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
7656 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
7659 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7662 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
7663 __GTHREAD_LEGACY_MUTEX_T if defined.
7665 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7668 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
7669 Export __try_use_facet specializations for facets in namespace
7671 * config/os/gnu-linux/ldbl-ieee128-extra.ver
7672 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
7674 * testsuite/util/testsuite_abi.cc: Add to lists of known and
7677 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
7679 * include/bits/std_mutex.h: Remove <system_error> include.
7680 * include/std/condition_variable: Add <bits/error_constants.h>
7682 * include/std/mutex: Likewise.
7683 * include/std/shared_mutex: Likewise.
7685 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7688 * include/experimental/memory_resource
7689 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
7690 (do_allocate, do_deallocate): Check it.
7691 * testsuite/experimental/memory_resource/new_delete_resource.cc:
7692 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
7694 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7696 * doc/xml/manual/abi.xml: Add latest library versions.
7697 * doc/html/manual/abi.html: Regenerate.
7699 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
7702 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
7703 unused _Alloc_node instance.
7705 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
7707 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
7708 Define as unsigned long if always lock-free, and unsigned int
7711 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7713 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
7714 __catch macros for exception handling.
7716 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7719 * include/bits/stl_algobase.h (__lg): Replace six overloads with
7720 a single function template for all integer types.
7721 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
7722 arithmetic results back to _Distance.
7724 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
7727 * include/std/span (span::span()): Un-simplify constraint to
7728 work for size_t of lesser rank than int.
7730 2023-01-07 LIU Hao <lh_mouse@126.com>
7732 PR middle-end/108300
7733 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
7735 * src/c++11/thread.cc: Likewise.
7736 * src/c++17/fs_ops.cc: Likewise.
7737 * src/filesystem/ops.cc: Likewise.
7739 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7742 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
7744 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7747 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
7748 template and partial specialization for synchronizing access to
7749 time_zone::_Impl::infos.
7750 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
7753 2023-01-06 Patrick Palka <ppalka@redhat.com>
7756 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
7757 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
7758 (__cpp_lib_ranges_chunk): Likewise.
7759 (__cpp_lib_ranges_slide): Likewise.
7760 (__cpp_lib_ranges_chunk_by): Likewise.
7761 (__cpp_lib_ranges_join_with): Likewise.
7762 (__cpp_lib_ranges_repeat): Likewise.
7763 (__cpp_lib_ranges_stride): Likewise.
7764 (__cpp_lib_ranges_cartesian_product): Likewise.
7765 (__cpp_lib_ranges_as_rvalue): Likewise.
7766 * include/std/version: Ditto.
7767 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
7769 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
7770 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
7771 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
7772 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
7773 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
7774 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
7775 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
7776 * testsuite/std/ranges/repeat/1.cc: Likewise.
7777 * testsuite/std/ranges/zip/1.cc: Likewise.
7778 * testsuite/std/ranges/version_c++23.cc: New test.
7780 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7783 * include/std/bitset (operator>>): Use alloca in the right
7784 scope, not in a constructor.
7785 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
7787 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7790 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
7791 Disable visiting floating-point types.
7793 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
7796 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
7797 (_Safe_iterator::operator--(int)): Do not hold lock around
7798 construction of return value.
7800 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
7802 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
7803 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
7804 lock release. Revise loop.
7805 (__atomic_add): Likewise.
7807 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7810 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
7812 (StdChronoTimePointPrinter::to_string): Use it.
7814 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7817 * include/std/functional (_Bind_front): Add no_unique_address
7818 attribute to data members.
7819 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
7820 size of call wrappers with empty types for targets and bound
7823 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7826 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
7827 using only last component of the name.
7829 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7833 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
7834 the latest symbol version.
7835 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
7836 atomic<_Node*> is not always lock free.
7837 (USE_ATOMIC_LIST_HEAD): New macro.
7838 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
7839 definition of weak symbol.
7840 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
7841 (tzdb_list::_Node::_S_list_head): New function for accessing
7842 list head efficiently.
7843 (tzdb_list::_Node::_S_cache_list_head): New function for
7844 updating _S_list_head.
7846 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
7849 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
7850 duration rep is unsigned.
7851 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
7853 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
7856 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
7857 Add __gnu_cxx::zoneinfo_dir_override().
7859 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
7862 * include/std/array (__array_traits<T, 0>::operator T*()): Add
7864 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
7865 std::array<T, 0>::data().
7868 Copyright (C) 2023 Free Software Foundation, Inc.
7870 Copying and distribution of this file, with or without modification,
7871 are permitted in any medium without royalty provided the copyright
7872 notice and this notice are preserved.