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