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