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