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