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