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