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