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