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