]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
1 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
2
3 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
4 * doc/html/*: Regenerate.
5
6 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
7
8 * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
9 * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
10 namespace to avoid clashing with libc struct.
11 * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
12 Likewise.
13 * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
14 * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
15 * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
16 * testsuite/23_containers/unordered_set/96088.cc: Likewise.
17 * testsuite/experimental/synchronized_value.cc: Require gthreads
18 and add missing option for pthreads targets.
19
20 2023-04-12 Patrick Palka <ppalka@redhat.com>
21
22 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
23 for C++23.
24 (__detail::__range_with_movable_reference): Likewise.
25 (enumerate_view): Likewise.
26 (enumerate_view::_Iterator): Likewise.
27 (enumerate_view::_Sentinel): Likewise.
28 (views::__detail::__can_enumerate_view): Likewise.
29 (views::_Enumerate, views::enumerate): Likewise.
30 * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
31 * testsuite/std/ranges/version_c++23.cc: Verify value of
32 __cpp_lib_ranges_enumerate.
33 * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
34
35 2023-04-12 Patrick Palka <ppalka@redhat.com>
36
37 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
38 Propagate _M_trailing_empty in the const-converting constructor
39 as per LWG 3904.
40 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
41 assertion.
42 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
43
44 2023-04-12 Patrick Palka <ppalka@redhat.com>
45
46 * src/c++17/floating_from_chars.cc: Include <algorithm>,
47 <iterator>, <limits> and <cstdint>.
48
49 2023-04-12 Patrick Palka <ppalka@redhat.com>
50
51 PR libstdc++/108291
52 * include/std/ranges (chunk_by_view::_M_find_next): Generalize
53 parameter types of the lambda wrapper passed to adjacent_find.
54 (chunk_by_view::_M_find_prev): Likewise.
55 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
56 New tests.
57
58 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
59
60 PR libstdc++/109482
61 * include/experimental/internet (basic_endpoint::basic_endpoint()):
62 Ensure that the required union members are active. Only define
63 as constexpr for C++20 and later.
64 (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
65 Likewise.
66 * testsuite/experimental/net/internet/endpoint/cons.cc: Only
67 check constexpr default constructor for C++20 and later.
68 * testsuite/experimental/net/internet/endpoint/extensible.cc:
69 Likewise.
70
71 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
72
73 * src/c++20/tzdata.zi: Import new file from 2023c release.
74
75 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
76
77 * include/precompiled/stdc++.h (C++17): Don't double-include
78 <charconv>, once with wrong conditions.
79 * testsuite/18_support/96817.cc: Require hosted.
80 * testsuite/18_support/bad_exception/59392.cc: Ditto.
81 * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
82 * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
83 * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
84 Ditto.
85
86 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
87
88 * include/bits/c++config: When __STDC_HOSTED__ is zero,
89 disable _GLIBCXX_DEBUG and, if it was set, enable
90 _GLIBCXX_ASSERTIONS.
91 * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
92 Include <bits/c++config.h> when determining whether debug is
93 set, in order to inherit the logic from above
94
95 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
96
97 * testsuite/17_intro/versionconflict.cc: New test.
98 * include/std/version: Allow disabling the system_header pragma
99 via _GLIBCXX_TESTING_SYSHDR.
100
101 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
102
103 * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
104 Synchronize the definition block with...
105 * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
106 ... this one here. Also define the 202202L value, rather than
107 leaving it up to purely unique_ptr.h, so that the value is
108 synchronized across all headers.
109 (__gnu_debug::_Safe_iterator_base): Move into new conditional
110 block.
111 * include/std/memory (__cpp_lib_atomic_value_initialization):
112 Define on freestanding under the same conditions as in
113 atomic_base.h.
114 * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
115 Also define on freestanding.
116 (__cpp_lib_to_chars): Ditto.
117 (__cpp_lib_gcd): Ditto.
118 (__cpp_lib_gcd_lcm): Ditto.
119 (__cpp_lib_raw_memory_algorithms): Ditto.
120 (__cpp_lib_array_constexpr): Ditto.
121 (__cpp_lib_nonmember_container_access): Ditto.
122 (__cpp_lib_clamp): Ditto.
123 (__cpp_lib_constexpr_char_traits): Ditto.
124 (__cpp_lib_constexpr_string): Ditto.
125 (__cpp_lib_sample): Ditto.
126 (__cpp_lib_lcm): Ditto.
127 (__cpp_lib_constexpr_iterator): Ditto.
128 (__cpp_lib_constexpr_char_traits): Ditto.
129 (__cpp_lib_interpolate): Ditto.
130 (__cpp_lib_constexpr_utility): Ditto.
131 (__cpp_lib_shift): Ditto.
132 (__cpp_lib_ranges): Ditto.
133 (__cpp_lib_move_iterator_concept): Ditto.
134 (__cpp_lib_constexpr_numeric): Ditto.
135 (__cpp_lib_constexpr_functional): Ditto.
136 (__cpp_lib_constexpr_algorithms): Ditto.
137 (__cpp_lib_constexpr_tuple): Ditto.
138 (__cpp_lib_constexpr_memory): Ditto.
139
140 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
141
142 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
143 timeout factor on hppa*-*-*.
144
145 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
146
147 * include/bits/regex.h (sub_match::swap): New function.
148 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
149
150 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
151
152 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
153 example program.
154 * doc/html/manual/ext_demangling.html: Regenerate.
155
156 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
157
158 PR tree-optimization/107087
159 * include/bits/cow_string.h (basic_string::size()): Add
160 optimizer hint that _S_empty_rep()._M_length is always zero.
161 (basic_string::length()): Call size().
162
163 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
164
165 PR libstdc++/109339
166 * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
167 Add attribute access with access-mode 'none'.
168 * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
169
170 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
171
172 * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
173 Revert change from member function to data member. Fix for
174 constant evaluation by detecting which union member is active.
175 (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
176 flag.
177
178 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
179
180 PR libstdc++/109242
181 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
182 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
183
184 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
185
186 * include/experimental/internet (ip::make_address): Implement
187 missing overload.
188 (ip::address_v4::broadcast()): Avoid undefined shift.
189 (ip::basic_endpoint): Fix member functions for constexpr.
190 (ip::basic_endpoint::_M_is_v6): Replace member function with
191 data member, adjust member functions using it.
192 (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
193 content.
194 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
195 constexpr checks to work in C++14.
196 * testsuite/experimental/net/internet/address/v4/creation.cc:
197 Likewise.
198 * testsuite/experimental/net/internet/endpoint/cons.cc:
199 Likewise.
200 * testsuite/experimental/net/internet/network/v4/cons.cc:
201 Likewise.
202 * testsuite/experimental/net/internet/network/v4/members.cc:
203 Likewise.
204 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
205
206 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
207
208 * include/std/expected (expected::value() &): Use const lvalue
209 for unex member passed to bad_expected_access constructor, as
210 per LWG 3843.
211
212 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
213
214 PR libstdc++/109340
215 * include/std/expected (expected::transform): Use
216 std::remove_cv_t instead of std::remove_cvref_t.
217 (expected::transform_error): Likewise.
218 (expected<cv void, E>::transform): Likewise.
219 (expected<cv void, E>::transform_error): Likewise.
220 * include/std/optional (transform): Use std::remove_cv_t.
221 * testsuite/20_util/optional/monadic/pr109340.cc: New test.
222
223 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
224
225 * include/std/optional (optional): Adjust static assertion to
226 reject arrays and functions as well as references.
227 * testsuite/20_util/optional/requirements_neg.cc: New test.
228
229 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
230
231 PR libstdc++/103387
232 * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
233 std::use_facet instead of cached _M_num_get facet.
234 (istream::operator>>(short&)): Likewise.
235 (istream::operator>>(int&)): Likewise.
236 * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
237 std::use_facet instead of cached _M_num_put facet.
238
239 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
240
241 * include/bits/char_traits.h (char_traits::copy): Return without
242 using memcpy if n==0.
243 (char_traits::assign): Likewise for memset.
244
245 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
246
247 PR libstdc++/109299
248 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
249 hint for compiler that local strings fit in the local buffer.
250
251 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
252
253 PR libstdc++/109288
254 * include/std/chrono (__detail::__get_leap_second_info): Update
255 expiry date of hardcoded leapseconds list.
256 * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
257 Likewise.
258 * src/c++20/tzdata.zi: Import new file from 2023a release.
259 * testsuite/std/time/time_zone/get_info_local.cc: Only check
260 transitions for Egypt up to 2014.
261
262 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
263
264 * include/experimental/bits/simd.h (is_simd_flag_type): New.
265 (_IsSimdFlagType): New.
266 (copy_from, copy_to, load ctors): Constrain _Flags using
267 _IsSimdFlagType.
268
269 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
270
271 * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
272 _Base::_S_divides if the optimized _S_divides function is hidden
273 via the preprocessor.
274
275 2023-03-27 Jakub Jelinek <jakub@redhat.com>
276
277 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
278 warning if size_t is not unsigned long.
279
280 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
281
282 * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
283 Add overload, as per LWG 3893.
284 * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
285 Check assignment from nullptr.
286
287 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
288
289 * include/std/format (formatter<const charT[N], charT>): Do not
290 define partial speclialization, as per LWG 3833.
291 * testsuite/std/format/formatter/requirements.cc: Check it.
292
293 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
294
295 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
296 as per LWG 3792.
297 * testsuite/20_util/exchange/constexpr.cc: Check for it.
298
299 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
300
301 * include/std/version (__cpp_lib_format): Define.
302 * testsuite/std/format/functions/format.cc: Check it.
303
304 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
305
306 * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
307 Pass rvalues to the callback, as now allowed by LWG 3645.
308 Enforce preconditions on the return value.
309 * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
310 Adjust.
311
312 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
313
314 * include/std/format: Add a comment noting that the resolution
315 of LWG 3720 has been applied..
316
317 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
318
319 * include/bits/regex.h (match_results): Add allocator-extended
320 copy and move constructors, as per LWG 2195.
321 * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
322
323 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
324
325 * include/bits/stream_iterator.h (istream_iterator): Add
326 constexpr to copy constructor, as per LWG 3600.
327 * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
328 Check copy construction.
329
330 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
331
332 * include/experimental/bits/simd_x86.h
333 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
334 with __RECIPROCAL_MATH__.
335
336 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
337
338 * include/experimental/bits/simd_detail.h: Don't define
339 _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
340 * include/experimental/bits/simd_x86.h (_S_divides): Remove
341 check for __clang__.
342
343 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
344
345 * include/experimental/bits/simd_detail.h: Don't declare the
346 simd API as constexpr with Clang.
347 * include/experimental/bits/simd_x86.h (__movm): New.
348 (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
349 and ?:.
350 (_SimdImplX86::_S_masked_unary): Clang does not implement the
351 same builtins. Implement the function using __movm, ?:, and -
352 operators on vector_size types instead.
353
354 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
355
356 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
357 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
358
359 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
360
361 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
362 formatting.
363
364 2023-03-20 Marek Polacek <polacek@redhat.com>
365
366 PR c++/109159
367 * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
368 * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
369 * testsuite/23_containers/span/explicit.cc: Likewise.
370
371 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
372
373 PR libstdc++/109182
374 * include/std/expected (expected<void>::expected(in_place_t)):
375 Remove template-head.
376
377 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
378
379 PR libstdc++/109165
380 * testsuite/18_support/coroutines/hash.cc: Use const object
381 in second call.
382
383 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
384
385 PR libstdc++/109165
386 * include/std/coroutine (hash<>::operator()): Add const.
387 * testsuite/18_support/coroutines/hash.cc: New test.
388
389 2023-03-14 Patrick Palka <ppalka@redhat.com>
390
391 PR libstdc++/109111
392 * include/std/ranges (repeat_view): Remove redundant parentheses
393 in requires-clause.
394 (repeat_view::_Iterator): Correct the requires-clause.
395
396 2023-03-14 Patrick Palka <ppalka@redhat.com>
397
398 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
399 Define.
400 (__cpp_lib_move_iterator_concept): Define for C++20.
401 (move_iterator::iterator_concept): Strengthen as per P2520R0.
402 * include/std/version (__cpp_lib_move_iterator_concept): Define
403 for C++20.
404 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
405
406 2023-03-14 Patrick Palka <ppalka@redhat.com>
407
408 * include/bits/ranges_util.h (view_interface::empty): Add
409 preferred overloads that use ranges::size when the range is
410 sized as per LWG 3715.
411 * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
412
413 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
414
415 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
416 Only define for C++17 and later.
417
418 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
419
420 * src/Makefile.am: Add comment about linker script fragments.
421 * src/Makefile.in: Regenerate.
422
423 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
424
425 PR libstdc++/62196
426 * include/bits/mask_array.h (mask_array): Add assertions to
427 assignment operators.
428 * include/std/valarray (valarray::operator[](valarray<bool>)):
429 Add assertions.
430 * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
431 * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
432 * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
433 * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
434 * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
435 * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
436 * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
437 * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
438 * testsuite/26_numerics/valarray/mask.cc: New test.
439
440 2023-03-13 Jakub Jelinek <jakub@redhat.com>
441
442 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
443 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
444
445 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
446
447 * doc/Makefile.am: Add comment referring to documentation.
448 * doc/Makefile.in: Regenerate.
449
450 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
451
452 * doc/html/*: Regenerate.
453
454 2023-03-13 Jonny Grant <jg@jguk.org>
455
456 * doc/xml/faq.xml: Update copyright year.
457
458 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
459
460 * include/bits/allocator.h: Fix typo in comment.
461
462 2023-03-12 Jakub Jelinek <jakub@redhat.com>
463
464 * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
465 if it isn't mangled as DF16b but u6__bf16.
466
467 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
468
469 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
470 to https.
471 * doc/html/manual/documentation_hacking.html: Regenerate.
472
473 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
474
475 PR libstdc++/109064
476 * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
477 Remove self-recursion in __init__. Add missing _supports.
478 * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
479 and unique().
480
481 2023-03-09 Patrick Palka <ppalka@redhat.com>
482
483 * include/std/ranges
484 (cartesian_product_view::_Iterator::_Iterator): Remove
485 constraint on default constructor as per LWG 3849.
486 (cartesian_product_view::_Iterator::_M_prev): Adjust position
487 of _Nm > 0 test as per LWG 3820.
488 (cartesian_product_view::_Iterator::_M_advance): Perform bounds
489 checking only on sized cartesian products.
490 * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
491
492 2023-03-09 Patrick Palka <ppalka@redhat.com>
493
494 PR libstdc++/109024
495 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
496 LWG 3796.
497 (repeat_view::_M_pred): Likewise.
498 * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
499 * testsuite/std/ranges/repeat/1.cc (test05): New test.
500
501 2023-03-09 Patrick Palka <ppalka@redhat.com>
502
503 PR libstdc++/108362
504 * include/std/ranges (__detail::__can_single_view): New concept.
505 (_Single::operator()): Constrain it. Move [[nodiscard]] to the
506 end of the function declarator.
507 (__detail::__can_iota_view): New concept.
508 (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
509 end of the function declarator.
510 (__detail::__can_istream_view): New concept.
511 (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
512 end of the function declarator.
513 * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
514 * testsuite/std/ranges/istream_view.cc (test08): New test.
515 * testsuite/std/ranges/single_view.cc (test07): New test.
516
517 2023-03-09 Patrick Palka <ppalka@redhat.com>
518
519 PR libstdc++/107572
520 * include/std/ranges (cartesian_product_view::end): When
521 building the tuple of iterators, avoid calling ranges::begin on
522 the first range if __empty_tail is false.
523 * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
524
525 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
526
527 PR libstdc++/108882
528 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
529 patterns.
530
531 2023-03-07 Jakub Jelinek <jakub@redhat.com>
532
533 * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
534 * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
535 * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
536 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
537 * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
538
539 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
540
541 PR libstdc++/108882
542 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
543 not match symbols in namespace std::__gnu_cxx11_ieee128.
544 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
545 std::__gnu_cxx11_ieee128::money_{get,put}.
546
547 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
548
549 * libsupc++/eh_personality.cc: Fix spelling in comment.
550
551 2023-03-03 Alexandre Oliva <oliva@adacore.com>
552
553 * testsuite/30_threads/async/async.cc (test04): Initialize
554 steady_start, renamed from steady_begin, next to slow_start.
555 Increase tolerance for final wait.
556
557 2023-03-03 Alexandre Oliva <oliva@adacore.com>
558
559 * testsuite/libstdc++-prettyprinters/80276.cc: Add
560 std::string to debug info.
561 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
562
563 2023-03-03 Alexandre Oliva <oliva@adacore.com>
564
565 PR libstdc++/104852
566 PR libstdc++/95989
567 PR libstdc++/52590
568 * include/bits/std_thread.h (thread::_M_thread_deps): New
569 static implicitly-inline member function.
570 (std::thread template ctor): Pass it to _M_start_thread.
571 * src/c++11/thread.cc (thread::_M_start_thread): Name depend
572 parameter, force it live on entry.
573
574 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
575
576 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
577 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
578 Likewise.
579 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
580 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
581 Likewise.
582
583 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
584
585 * include/bits/cow_string.h: Fix typo in comment.
586
587 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
588
589 * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
590 current time zone cannot be determined.
591 * testsuite/std/time/tzdb/1.cc: Remove conditions based on
592 HAVE_TZDB macro and test all members unconditionally.
593
594 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
595
596 PR libstdc++/108952
597 * include/bits/uses_allocator_args.h
598 (uses_allocator_construction_args): Implement LWG 3527.
599 * testsuite/20_util/pair/astuple/get-2.cc: New test.
600 * testsuite/20_util/scoped_allocator/108952.cc: New test.
601 * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
602
603 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
604
605 PR libstdc++/108846
606 * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
607 Add __assign_one static member function.
608 (__copy_move<true, false, RA>): Likewise.
609 (__copy_move<IsMove, true, RA>): Do not use memmove for a single
610 value.
611 (__copy_move_backward<IsMove, true, RA>): Likewise.
612 * testsuite/25_algorithms/copy/108846.cc: New test.
613 * testsuite/25_algorithms/copy_backward/108846.cc: New test.
614 * testsuite/25_algorithms/copy_n/108846.cc: New test.
615 * testsuite/25_algorithms/move/108846.cc: New test.
616 * testsuite/25_algorithms/move_backward/108846.cc: New test.
617
618 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
619
620 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
621 attributes.
622
623 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
624
625 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
626 caveat to comment.
627 * include/bits/basic_string.h (resize_and_overwrite): Add
628 doxygen comment.
629
630 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
631
632 * include/experimental/bits/simd.h: Line breaks and indenting
633 fixed to follow the libstdc++ standard.
634 * include/experimental/bits/simd_builtin.h: Likewise.
635 * include/experimental/bits/simd_fixed_size.h: Likewise.
636 * include/experimental/bits/simd_neon.h: Likewise.
637 * include/experimental/bits/simd_ppc.h: Likewise.
638 * include/experimental/bits/simd_scalar.h: Likewise.
639 * include/experimental/bits/simd_x86.h: Likewise.
640
641 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
642
643 PR libstdc++/108030
644 * include/experimental/bits/simd_fixed_size.h
645 (_SimdImplFixedSize::_S_broadcast): Replace inline with
646 _GLIBCXX_SIMD_INTRINSIC.
647 (_SimdImplFixedSize::_S_generate): Likewise.
648 (_SimdImplFixedSize::_S_load): Likewise.
649 (_SimdImplFixedSize::_S_masked_load): Likewise.
650 (_SimdImplFixedSize::_S_store): Likewise.
651 (_SimdImplFixedSize::_S_masked_store): Likewise.
652 (_SimdImplFixedSize::_S_min): Likewise.
653 (_SimdImplFixedSize::_S_max): Likewise.
654 (_SimdImplFixedSize::_S_complement): Likewise.
655 (_SimdImplFixedSize::_S_unary_minus): Likewise.
656 (_SimdImplFixedSize::_S_plus): Likewise.
657 (_SimdImplFixedSize::_S_minus): Likewise.
658 (_SimdImplFixedSize::_S_multiplies): Likewise.
659 (_SimdImplFixedSize::_S_divides): Likewise.
660 (_SimdImplFixedSize::_S_modulus): Likewise.
661 (_SimdImplFixedSize::_S_bit_and): Likewise.
662 (_SimdImplFixedSize::_S_bit_or): Likewise.
663 (_SimdImplFixedSize::_S_bit_xor): Likewise.
664 (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
665 (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
666 (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
667 explicit about not always-inline, yet).
668 (_SimdImplFixedSize::_S_isinf): Likewise.
669 (_SimdImplFixedSize::_S_isfinite): Likewise.
670 (_SimdImplFixedSize::_S_isnan): Likewise.
671 (_SimdImplFixedSize::_S_isnormal): Likewise.
672 (_SimdImplFixedSize::_S_signbit): Likewise.
673
674 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
675
676 PR libstdc++/108856
677 * include/experimental/bits/simd_builtin.h
678 (_SimdImplBuiltin::_S_masked_unary): More efficient
679 implementation of masked inc-/decrement for integers and floats
680 without AVX2.
681 * include/experimental/bits/simd_x86.h
682 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
683 builtins for masked inc-/decrement.
684
685 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
686
687 * include/experimental/executor (executor): Constrain template
688 constructors.
689
690 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
691
692 * include/experimental/internet (basic_endpoint): Add missing
693 constexpr to comparison operators.
694 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
695
696 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
697
698 * include/experimental/internet (network_v4::netmask()): Avoid
699 undefined shift.
700 (network_v4::broadcast()): Optimize and fix for targets with
701 uint_least32_t wider than 32 bits.
702 (network_v4::to_string(const Allocator&)): Fix for custom
703 allocators and optimize using to_chars.
704 (operator==(const network_v4&, const network_v4&)): Add missing
705 constexpr.
706 (operator==(const network_v6&, const network_v6&)): Likewise.
707 * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
708 * testsuite/experimental/net/internet/network/v4/members.cc: New test.
709
710 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
711
712 * include/experimental/internet (address_4(const bytes_type&)):
713 Use __builtin_bit_cast if available, otherwise convert to
714 network byte order.
715 (address_v4::to_bytes()): Likewise, but convert from network
716 byte order.
717 * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
718 incorrect tests. Check for constexpr too.
719 * testsuite/experimental/net/internet/address/v4/creation.cc:
720 Likewise.
721 * testsuite/experimental/net/internet/address/v4/members.cc:
722 Check that bytes_type is a standard-layout type.
723
724 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
725
726 * include/experimental/internet (address_v4::to_string):
727 Optimize.
728 * testsuite/experimental/net/internet/address/v4/members.cc:
729 Check more addresses.
730
731 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
732
733 * include/ext/aligned_buffer.h (__aligned_buffer): Add
734 diagnostic pragmas.
735
736 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
737
738 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
739 before dg-do.
740
741 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
742
743 * testsuite/experimental/simd/tests/reductions.cc: Introduce
744 max_distance as the type-dependent max error.
745
746 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
747
748 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
749 int. The actual range of these indexes is very small.
750
751 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
752
753 * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
754 (_S_bit_shift_right): Declare constexpr. The implementation was
755 already expecting constexpr evaluation.
756
757 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
758
759 PR libstdc++/108030
760 * include/experimental/bits/simd_detail.h
761 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
762 __clang__.
763
764 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
765
766 PR libstdc++/108030
767 * include/experimental/bits/simd.h (__vector_broadcast):
768 Implement via __vector_broadcast_impl instead of
769 __call_with_n_evaluations + 2 lambdas.
770 (__vector_broadcast_impl): New.
771
772 2023-02-22 Alexandre Oliva <oliva@adacore.com>
773
774 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
775 Avoid destruction of the mutex pool.
776
777 2023-02-22 Alexandre Oliva <oliva@adacore.com>
778
779 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
780 on vxworks.
781 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
782 Likewise.
783
784 2023-02-22 Alexandre Oliva <oliva@adacore.com>
785
786 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
787 kernel mode.
788
789 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
790
791 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
792
793 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
794
795 * include/experimental/bits/simd.h (__extract_part, split):
796 Use reserved name for template parameter.
797
798 2023-02-20 Andreas Schwab <schwab@suse.de>
799
800 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
801
802 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
803
804 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
805 * doc/html/faq.html: Regenerate.
806
807 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
808
809 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
810 between scalars requires the __bit_cast helper function instead
811 of simd_bit_cast.
812
813 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
814
815 * include/experimental/bits/simd_x86.h
816 (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
817 (_SimdImplX86::_S_less_equal): Do not call
818 __builtin_is_constant_evaluated in constexpr-if.
819
820 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
821
822 * testsuite/experimental/simd/tests/bits/verify.h
823 (verify::verify): Use %zx for size_t in format string.
824
825 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
826
827 * testsuite/experimental/simd/generate_makefile.sh: Generate and
828 pre-compile pch.h, which includes all headers that do not depend
829 on command-line macros.
830 * testsuite/experimental/simd/tests/bits/main.h: New file.
831 (iterate_abis, main): Moved from verify.h.
832 * testsuite/experimental/simd/tests/bits/verify.h
833 (iterate_abis, main): Moved to main.h.
834 * testsuite/experimental/simd/tests/bits/conversions.h: Add
835 include guard.
836 (genHalfBits): Simplify.
837 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
838 guard.
839 (make_alternating_mask): Moved from mask_loadstore.
840 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
841 include guard.
842 * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
843 * testsuite/experimental/simd/tests/mask_loadstore.cc
844 (make_mask, make_alternating_mask): Removed.
845 * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
846 * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
847 Removed.
848 * testsuite/experimental/simd/tests/abs.cc: Only include
849 bits/main.h.
850 Ditto.
851 * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
852 * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
853 * testsuite/experimental/simd/tests/casts.cc: Ditto.
854 * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
855 * testsuite/experimental/simd/tests/frexp.cc: Ditto.
856 * testsuite/experimental/simd/tests/generator.cc: Ditto.
857 * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
858 * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
859 * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
860 * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
861 * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
862 * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
863 * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
864 * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
865 * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
866 * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
867 * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
868 * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
869 * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
870 * testsuite/experimental/simd/tests/reductions.cc: Ditto.
871 * testsuite/experimental/simd/tests/remqo.cc: Ditto.
872 * testsuite/experimental/simd/tests/simd.cc: Ditto.
873 * testsuite/experimental/simd/tests/sincos.cc: Ditto.
874 * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
875 * testsuite/experimental/simd/tests/splits.cc: Ditto.
876 * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
877 * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
878 * testsuite/experimental/simd/tests/where.cc: Ditto.
879
880 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
881
882 * testsuite/experimental/simd/README.md: Document the timeout
883 and timeout-factor directives. Minor typo fixed.
884
885 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
886
887 PR libstdc++/108030
888 * include/experimental/bits/simd_detail.h: Define
889 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
890 * include/experimental/bits/simd.h: Annotate lambdas with
891 _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
892 * include/experimental/bits/simd_builtin.h: Ditto.
893 * include/experimental/bits/simd_converter.h: Ditto.
894 * include/experimental/bits/simd_fixed_size.h: Ditto.
895 * include/experimental/bits/simd_math.h: Ditto.
896 * include/experimental/bits/simd_neon.h: Ditto.
897 * include/experimental/bits/simd_x86.h: Ditto.
898
899 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
900
901 * include/experimental/bits/simd.h
902 (_SimdWrapper::_M_is_constprop_none_of)
903 (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
904 computed result still satisfies __builtin_constant_p.
905
906 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
907
908 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
909 ellipsis character.
910
911 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
912
913 * include/Makefile.am: Add new header.
914 * include/Makefile.in: Regenerate.
915 * include/experimental/synchronized_value: New file.
916 * testsuite/experimental/synchronized_value.cc: New test.
917
918 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
919
920 * include/experimental/optional: Fix header name in comment.
921
922 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
923
924 * include/std/format (__format::_Arg_store): New class template.
925 (basic_format_args): Remove nested type _Store and add deduction
926 guide from _Arg_store.
927 (basic_format_arg, make_format_args): Adjust.
928 * testsuite/std/format/arguments/lwg3810.cc: New test.
929
930 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
931
932 * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
933 constraints to constructors and add deleted overloads for the
934 dangling cases, as per P2255R2.
935 (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
936 make dangling cases ill-formed.
937 * testsuite/20_util/pair/dangling_ref.cc: New test.
938
939 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
940
941 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
942
943 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
944
945 * include/ext/throw_allocator.h: Use reserved names for
946 parameters.
947
948 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
949
950 * testsuite/17_intro/names_pstl.cc: Add space after effective
951 target name.
952
953 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
954
955 * include/pstl/algorithm_fwd.h (__pattern_search_n)
956 (__brick_unique_copy, __brick_adjacent_find)
957 (__brick_generate_n, __pattern_generate_n): Use reserved names
958 for parameters.
959 * include/pstl/algorithm_impl.h (__brick_unique_copy)
960 (__pattern_reverse, __brick_generate_n): Likewise.
961 * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
962 (__prefer_parallel_tag): Likewise.
963 * include/pstl/glue_algorithm_impl.h (transform): Likewise.
964 * include/pstl/glue_numeric_defs.h (adjacent_difference):
965 Likewise.
966 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
967 Likewise.
968 * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
969 * include/pstl/unseq_backend_simd.h (_Combiner)
970 (__simd_min_element, __simd_minmax_element): Likewise.
971 * testsuite/17_intro/names_pstl.cc: New test.
972
973 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
974
975 * include/bits/fs_ops.h (create_directory): Use reserved name
976 for parameter.
977 * include/bits/ranges_algo.h (__contains_subrange_fn):
978 Likewise.
979 * include/bits/regex_automaton.h (_State_base::_M_print):
980 Likewise.
981 * include/bits/regex_automaton.tcc(_State_base::_M_print):
982 Likewise.
983 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
984 * include/experimental/bits/fs_ops.h (create_directory):
985 Likewise.
986 * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
987 (recursive_timed_mutex:_M_clocklock): Likewise.
988 * include/std/tuple (basic_common_reference): Likewise.
989 * libsupc++/cxxabi_init_exception.h
990 (__cxa_init_primary_exception): Likewise.
991 * testsuite/17_intro/names.cc: Add checks.
992
993 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
994
995 * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
996 to www.open-std.org and https.
997 * doc/html/manual/status.html: Regenerate.
998
999 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1000
1001 PR libstdc++/103934
1002 * include/std/atomic (atomic_flag_wait): Add.
1003 (atomic_flag_wait_explicit): Add.
1004 (atomic_flag_notify): Add.
1005 (atomic_flag_notify_explicit): Add.
1006 * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
1007 Add test case to cover missing atomic_flag free functions.
1008
1009 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
1010
1011 PR libstdc++/103934
1012 * include/std/atomic (atomic_flag_test): Add.
1013 (atomic_flag_test_explicit): Add.
1014 * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
1015 test case to cover missing atomic_flag free functions.
1016 * testsuite/29_atomics/atomic_flag/test/implicit.cc:
1017 Likewise.
1018
1019 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
1020
1021 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
1022 "The Component Object Model" reference.
1023 * doc/html/manual/policy_data_structures.html: Regenerate.
1024
1025 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1026
1027 * doc/xml/manual/containers.xml: Tweak a link to N1780
1028 (C++ standard).
1029 * doc/html/manual/associative.html: Regenerate.
1030
1031 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1032
1033 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1034 * doc/html/manual/facets.html: Regenerate.
1035
1036 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
1037
1038 * doc/xml/manual/policy_data_structures_biblio.xml: Update
1039 link to "Worst-case efficient priority queues".
1040 * doc/html/manual/policy_data_structures.html: Regenerate.
1041
1042 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1043
1044 * doc/xml/manual/using.xml: Document newly-freestanding
1045 headers and the effect of the -ffreestanding flag.
1046 * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
1047 completed.
1048 * doc/xml/manual/configure.xml: Document that hosted installs
1049 respect __STDC_HOSTED__.
1050 * doc/xml/manual/test.xml: Document how to run tests in
1051 freestanding mode.
1052 * doc/html/*: Regenerate.
1053
1054 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1055
1056 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1057 (__find_last_if_fn): Likewise.
1058
1059 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1060
1061 * include/std/type_traits: Add diagnostic pragmas around
1062 references to deprecated std::aligned_storage and
1063 std::aligned_union traits.
1064 * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
1065 Add dg-warning for et c++23.
1066 * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
1067 Likewise.
1068 * testsuite/20_util/aligned_storage/value.cc: Likewise.
1069 * testsuite/20_util/aligned_union/1.cc: Likewise.
1070 * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
1071 Likewise.
1072
1073 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1074
1075 * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
1076 * include/bits/c++config (_GLIBCXX23_DEPRECATED)
1077 (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
1078 * include/std/type_traits (aligned_storage, aligned_union)
1079 (aligned_storage_t, aligned_union_t): Deprecate for C++23.
1080 * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
1081 * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
1082
1083 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
1084
1085 * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
1086 * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
1087 consistent with other 'deprecated' macros.
1088 * include/std/type_traits (is_pod, is_pod_v): Use
1089 _GLIBCXX20_DEPRECATED_SUGGEST instead.
1090
1091 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
1092
1093 * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
1094 * Makefile.in: Regenerate.
1095 * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
1096 There's no history to be compatible with.
1097 * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
1098 source files from the build.
1099 * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1100 * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1101 * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
1102 * src/Makefile.in: Regenerate.
1103 * src/c++11/Makefile.in: Regenerate.
1104 * src/c++17/Makefile.in: Regenerate.
1105 * src/c++20/Makefile.in: Regenerate.
1106 * src/c++98/Makefile.in: Regenerate.
1107
1108 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1109
1110 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1111 filesystem, libbacktrace and experimental.
1112 * src/Makefile.in: Regenerate.
1113
1114 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
1115
1116 PR libstdc++/108672
1117 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1118 instead of int32_t.
1119
1120 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1121
1122 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1123 * doc/html/manual/documentation_hacking.html: Regenerate.
1124
1125 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
1126
1127 * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
1128 storage to the move-from instance when allocators are equal.
1129 * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
1130 New test case.
1131
1132 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1133
1134 * config/os/gnu-linux/os_defines.h [!__linux__]
1135 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1136
1137 2023-02-03 Patrick Palka <ppalka@redhat.com>
1138
1139 * include/bits/ranges_algo.h (__find_last_fn, find_last):
1140 Define.
1141 (__find_last_if_fn, find_last_if): Define.
1142 (__find_last_if_not_fn, find_last_if_not): Define.
1143 * testsuite/25_algorithms/find_last/1.cc: New test.
1144 * testsuite/25_algorithms/find_last_if/1.cc: New test.
1145 * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
1146
1147 2023-02-03 Patrick Palka <ppalka@redhat.com>
1148
1149 * include/bits/ranges_algo.h (out_value_result): Define.
1150 (iota_result): Define.
1151 (__iota_fn, iota): Define.
1152 * testsuite/25_algorithms/iota/1.cc: New test.
1153
1154 2023-02-03 Patrick Palka <ppalka@redhat.com>
1155
1156 * include/bits/ranges_algo.h (__contains_fn, contains): Define.
1157 (__contains_subrange_fn, contains_subrange): Define.
1158 * testsuite/25_algorithms/contains/1.cc: New test.
1159 * testsuite/25_algorithms/contains_subrange/1.cc: New test.
1160
1161 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1162
1163 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1164 * doc/html/manual/abi.html: Regenerate.
1165
1166 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1167
1168 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1169 errc::function_not_supported instead of errc::not_supported.
1170
1171 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1172
1173 * include/std/sstream (basic_stringbuf::view): Define for old
1174 std::string ABI.
1175 (basic_istringstream::view, basic_0stringstream::view)
1176 (basic_stringstream::view): Likewise.
1177 * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
1178 { dg-require-effective-target cxx11_abi }.
1179 * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
1180 Likewise.
1181 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1182 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
1183 Likewise.
1184 * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
1185 * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
1186 * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
1187 * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
1188 Likewise.
1189
1190 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1191
1192 PR libstdc++/108636
1193 * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
1194 conversion operators for directory iterator comparisons with
1195 std::default_sentinel_t.
1196 * include/bits/fs_path.h (path::path(string_view, _Type))
1197 (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
1198 definitions to ...
1199 * src/c++17/fs_path.cc: ... here.
1200 * testsuite/27_io/filesystem/path/108636.cc: New test.
1201
1202 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1203
1204 * include/std/variant (variant::operator=): Implement resolution
1205 of LWG 3585.
1206 * testsuite/20_util/variant/lwg3585.cc: New test.
1207
1208 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1209
1210 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1211 link to https.
1212 * doc/html/manual/using_exceptions.html: Regenerate.
1213
1214 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1215
1216 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1217 * doc/html/manual/debug.html: Regenerate.
1218
1219 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1220
1221 * src/c++11/random.cc (random_device::_M_fini): Do not try to
1222 close the file handle if the target doesn't support the
1223 /dev/random and /dev/urandom files.
1224
1225 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1226
1227 * config/os/generic/error_constants.h (errc::value_too_large)
1228 [__AVR__]: Define.
1229 * src/c++11/system_error.cc
1230 (system_category::default_error_condition) [__AVR__]: Only match
1231 recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
1232 * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
1233 for ENOENT etc. in switch.
1234 (fs::remove_all) [__AVR__]: Likewise.
1235 * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
1236 close etc.
1237
1238 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1239
1240 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1241 embed_zoneinfo=no
1242 * configure: Regenerate.
1243
1244 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
1245
1246 PR testsuite/108632
1247 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1248 struct at end of S0.
1249
1250 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
1251
1252 * doc/xml/manual/shared_ptr.xml: Move links from both
1253 http://open-std.org and http://www.open-std.org to
1254 https://www.open-std.org.
1255 * doc/html/manual/memory.html: Regenerate.
1256
1257 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1258
1259 * doc/xml/manual/appendix_contributing.xml: Adjust link to
1260 ISO C++ standard at ANSI.
1261 Move link to www.open-std.org to https.
1262 * doc/html/manual/appendix_contributing.html: Regenerate.
1263
1264 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1265
1266 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1267 links to https.
1268 * doc/html/manual/documentation_hacking.html: Regenerate.
1269
1270 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1271
1272 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1273 * doc/html/manual/abi.html: Regenerate.
1274
1275 2023-01-27 Jakub Jelinek <jakub@redhat.com>
1276
1277 PR libstdc++/108568
1278 * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
1279 include features.h if present and then check __GLIBC__ and
1280 __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
1281 __GLIBC_PREREQ which isn't defined yet.
1282
1283 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1284
1285 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1286 string literal.
1287
1288 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1289
1290 PR libstdc++/108554
1291 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1292
1293 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1294
1295 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1296 rules named "+" for compatibility with older tzdata.zi files.
1297
1298 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1299
1300 PR libstdc++/108554
1301 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1302 nonnull attribute.
1303 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1304 attributes.
1305 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1306
1307 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1308
1309 PR libstdc++/108530
1310 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1311 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1312
1313 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1314
1315 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1316 use https.
1317 * doc/html/manual/bugs.html: Regenerate.
1318
1319 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1320
1321 PR libstdc++/108530
1322 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1323 /etc/sysconfig/clock.
1324
1325 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1326
1327 PR libstdc++/102301
1328 * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
1329 std::make_reverse_iterator.
1330 * include/std/tuple: Include <bits/ranges_util.h> for subrange.
1331 (make_from_tuple): Add static assertion from P2255 to diagnose
1332 dangling references.
1333 * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
1334 * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
1335
1336 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
1337
1338 * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
1339 (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
1340 (_Safe_iterator::operator++(int)): Use latter.
1341 (_Safe_iterator::operator--(int)): Likewise.
1342 (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
1343 check.
1344 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
1345 New.
1346 (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
1347 (_Safe_local_iterator::operator++(int)): Use latter.
1348 * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
1349 entry associated to the array entry.
1350
1351 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1352
1353 * include/bits/fs_path.h (u8path): Add deprecated attribute.
1354 * testsuite/27_io/filesystem/path/construct/90281.cc: Add
1355 -Wno-deprecated-declarations for C++20 and later.
1356 * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
1357 Likewise.
1358 * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
1359 * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
1360 * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
1361
1362 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1363
1364 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1365 Always call _M_fini and _M_getentropy.
1366
1367 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1368
1369 * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
1370 to www.open-std.org to use https.
1371 (COM: Component Model Object Technologies): Rename from...
1372 (The Component Object Model): ...to.
1373 * doc/html/manual/policy_data_structures.html: Regenerate.
1374
1375 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
1376
1377 * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
1378 * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
1379 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
1380
1381 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
1382
1383 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
1384 of $host. Fix check for file being present during native build.
1385 * configure: Regenerate.
1386
1387 2023-01-17 Martin Liska <mliska@suse.cz>
1388
1389 * src/libbacktrace/Makefile.in: Regenerate.
1390
1391 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1392
1393 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1394
1395 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1396
1397 PR libstdc++/108413
1398 * include/c_compatibility/stdatomic.h: Change copyright line to
1399 be consistent with other headers contributed under DCO terms.
1400 * include/std/expected: Add full stop to copyright line.
1401 * src/c++20/tzdb.cc: Likewise.
1402
1403 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1404
1405 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
1406 https.
1407 * doc/xml/manual/status_cxx2017.xml: Ditto.
1408 * doc/xml/manual/status_cxx2020.xml: Ditto.
1409 * doc/xml/manual/status_cxx2023.xml: Ditto.
1410 * doc/html/manual/status.html: Regenerate.
1411
1412 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1413
1414 * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
1415 and fail gracefully if defining the weak symbol doesn't work.
1416
1417 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
1418
1419 PR libstdc++/108288
1420 * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
1421 fix to other iterator category.
1422 (_Safe_iterator<>::operator--(int)): Likewise.
1423 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
1424 Fix deadlock.
1425 * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
1426 (invalid_local_iterator_post_increment): New.
1427 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
1428 New test.
1429 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1430 New test.
1431
1432 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1433
1434 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1435 dg-options.
1436
1437 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1438
1439 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1440
1441 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1442
1443 * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
1444 windows.h. Add pecoff as FORMAT_FILE.
1445 * config.h.in: Regenerate.
1446 * configure: Regenerate.
1447 * src/libbacktrace/Makefile.am: Regenerate.
1448 * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
1449
1450 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1451
1452 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1453 raw __name if __cxa_demangle could not demangle it.
1454
1455 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1456
1457 PR libstdc++/108409
1458 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1459 variable.
1460
1461 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1462
1463 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1464 loading tzdb.
1465 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1466 effective target.
1467 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1468
1469 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1470
1471 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
1472 --with-libstdcxx-zoneinfo-dir configure option with
1473 --with-libstdcxx-zoneinfo with yes/no/static choices as well as
1474 a directory.
1475 * config.h.in: Regenerate.
1476 * configure: Regenerate.
1477 * doc/xml/manual/configure.xml: Document configure option.
1478 * doc/html/manual/configure.html: Regenerate.
1479 * src/c++20/Makefile.am: Generate tzdata.zi.h header.
1480 * src/c++20/Makefile.in: Regenerate.
1481 * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
1482 null pointer if no directory is configured.
1483 (zoneinfo_dir): Replace with ...
1484 (zoneinfo_file): New function.
1485 (tzdata_stream): New istream class.
1486 (remote_version, reload_tzdb): Use tzdata_stream.
1487 * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
1488 Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
1489 tzdata.zi file in default location.
1490 * src/c++20/tzdata.zi: New file.
1491
1492 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1493
1494 * include/bits/chrono_io.h (operator<<): Fix syntax errors.
1495 * testsuite/std/time/month_day/io.cc: New test.
1496 * testsuite/std/time/month_day_last/io.cc: New test.
1497 * testsuite/std/time/month_weekday/io.cc: New test.
1498 * testsuite/std/time/month_weekday_last/io.cc: New test.
1499 * testsuite/std/time/weekday_indexed/io.cc: New test.
1500 * testsuite/std/time/weekday_last/io.cc: New test.
1501 * testsuite/std/time/year_month/io.cc: New test.
1502 * testsuite/std/time/year_month_day_last/io.cc: New test.
1503 * testsuite/std/time/year_month_weekday/io.cc: New test.
1504 * testsuite/std/time/year_month_weekday_last/io.cc: New test.
1505
1506 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
1507
1508 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1509 specifications.
1510 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1511 export.
1512
1513 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1514
1515 * include/bits/std_mutex.h: Include <errno.h>.
1516
1517 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1518
1519 * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
1520 * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
1521 * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
1522 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
1523 std::make_unique with a freestanding-compatible wrapper around
1524 unique_ptr.
1525 * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
1526 Don't test for presence of __cpp_lib_string_contains on !HOSTED.
1527 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1528 Ditto.
1529 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1530 of __cpp_lib_ranges in !HOSTED.
1531
1532 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1533
1534 * include/Makefile.am: Install bits/char_traits.h,
1535 std/string_view
1536 * include/Makefile.in: Regenerate.
1537 * include/bits/char_traits.h: Gate hosted-only, wchar-only and
1538 mbstate-only bits behind appropriate #ifs.
1539 * include/std/string_view: Gate <iostream> functionality behind
1540 HOSTED.
1541 * include/std/version: Enable __cpp_lib_constexpr_string_view
1542 and __cpp_lib_starts_ends_with in !HOSTED.
1543 * include/std/ranges: Re-enable __is_basic_string_view on
1544 freestanding, include <string_view> directly.
1545 * include/precompiled/stdc++.h: Include <string_view> when
1546 !HOSTED too.
1547 * testsuite/20_util/function_objects/searchers.cc: Skip testing
1548 boyer_moore searchers on freestanding
1549 * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
1550 <string>-related tests behind __STDC_HOSTED__.
1551 * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
1552 * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
1553 unused <stdexcept> include.
1554 * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
1555 unused <vector> include.
1556 * testsuite/21_strings/basic_string_view/cons/char/range.cc:
1557 Guard <string> related testing behind __STDC_HOSTED__.
1558 * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
1559 Guard <stdexcept> related tests behind __STDC_HOSTED__.
1560 * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
1561 Ditto.
1562 * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
1563 Guard <stdexcept> tests behind __STDC_HOSTED__.
1564 * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
1565 Enable test on freestanding, guard <stdexcept> bits behind
1566 __STDC_HOSTED__.
1567 * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
1568 Guard <stdexcept> bits behind __STDC_HOSTED__.
1569 * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
1570 Ditto.
1571
1572 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
1573
1574 PR libstdc++/86419
1575 * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
1576 errors in incomplete multibyte sequences.
1577 (utf16_in): Remove surrogates parameter. Fix conditions for
1578 returning partial.
1579 (utf16_out): Fix condition for returning partial.
1580 (ucs2_in): Do not pass surrogates argument to utf16_in.
1581 * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
1582 * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
1583 tests.
1584 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1585 test.
1586
1587 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1588
1589 PR libstdc++/108331
1590 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1591 __GTHREAD_LEGACY_MUTEX_T if defined.
1592
1593 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1594
1595 PR libstdc++/108327
1596 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1597 Export __try_use_facet specializations for facets in namespace
1598 __gnu_cxx_ldbl128.
1599 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1600 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1601 __gnu_cxx_ieee128.
1602 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1603 latest versions.
1604
1605 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1606
1607 * include/bits/std_mutex.h: Remove <system_error> include.
1608 * include/std/condition_variable: Add <bits/error_constants.h>
1609 include.
1610 * include/std/mutex: Likewise.
1611 * include/std/shared_mutex: Likewise.
1612
1613 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1614
1615 PR libstdc++/77691
1616 * include/experimental/memory_resource
1617 (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
1618 (do_allocate, do_deallocate): Check it.
1619 * testsuite/experimental/memory_resource/new_delete_resource.cc:
1620 Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
1621
1622 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1623
1624 * doc/xml/manual/abi.xml: Add latest library versions.
1625 * doc/html/manual/abi.html: Regenerate.
1626
1627 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
1628
1629 PR libstdc++/107189
1630 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
1631 unused _Alloc_node instance.
1632
1633 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1634
1635 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
1636 Define as unsigned long if always lock-free, and unsigned int
1637 otherwise.
1638
1639 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1640
1641 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
1642 __catch macros for exception handling.
1643
1644 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1645
1646 PR libstdc++/108221
1647 * include/bits/stl_algobase.h (__lg): Replace six overloads with
1648 a single function template for all integer types.
1649 * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
1650 arithmetic results back to _Distance.
1651
1652 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1653
1654 PR libstdc++/108221
1655 * include/std/span (span::span()): Un-simplify constraint to
1656 work for size_t of lesser rank than int.
1657
1658 2023-01-07 LIU Hao <lh_mouse@126.com>
1659
1660 PR middle-end/108300
1661 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
1662 <windows.h>.
1663 * src/c++11/thread.cc: Likewise.
1664 * src/c++17/fs_ops.cc: Likewise.
1665 * src/filesystem/ops.cc: Likewise.
1666
1667 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1668
1669 PR libstdc++/108228
1670 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
1671
1672 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1673
1674 PR libstdc++/108235
1675 * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
1676 template and partial specialization for synchronizing access to
1677 time_zone::_Impl::infos.
1678 (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
1679 rules_counter.
1680
1681 2023-01-06 Patrick Palka <ppalka@redhat.com>
1682
1683 PR libstdc++/108260
1684 * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
1685 * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
1686 (__cpp_lib_ranges_chunk): Likewise.
1687 (__cpp_lib_ranges_slide): Likewise.
1688 (__cpp_lib_ranges_chunk_by): Likewise.
1689 (__cpp_lib_ranges_join_with): Likewise.
1690 (__cpp_lib_ranges_repeat): Likewise.
1691 (__cpp_lib_ranges_stride): Likewise.
1692 (__cpp_lib_ranges_cartesian_product): Likewise.
1693 (__cpp_lib_ranges_as_rvalue): Likewise.
1694 * include/std/version: Ditto.
1695 * testsuite/20_util/tuple/p2321r2.cc: Verify value of
1696 feature-test macro.
1697 * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
1698 * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
1699 * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
1700 * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
1701 * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
1702 * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
1703 * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
1704 * testsuite/std/ranges/repeat/1.cc: Likewise.
1705 * testsuite/std/ranges/zip/1.cc: Likewise.
1706 * testsuite/std/ranges/version_c++23.cc: New test.
1707
1708 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1709
1710 PR libstdc++/108214
1711 * include/std/bitset (operator>>): Use alloca in the right
1712 scope, not in a constructor.
1713 * testsuite/20_util/bitset/io/input.cc: Check case from PR.
1714
1715 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1716
1717 PR libstdc++/108221
1718 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
1719 Disable visiting floating-point types.
1720
1721 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1722
1723 PR libstdc++/108288
1724 * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
1725 (_Safe_iterator::operator--(int)): Do not hold lock around
1726 construction of return value.
1727
1728 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
1729
1730 * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
1731 (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
1732 lock release. Revise loop.
1733 (__atomic_add): Likewise.
1734
1735 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1736
1737 PR libstdc++/108212
1738 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
1739 variable.
1740 (StdChronoTimePointPrinter::to_string): Use it.
1741
1742 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1743
1744 PR libstdc++/108290
1745 * include/std/functional (_Bind_front): Add no_unique_address
1746 attribute to data members.
1747 * testsuite/20_util/function_objects/bind_front/107784.cc: Check
1748 size of call wrappers with empty types for targets and bound
1749 arguments.
1750
1751 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1752
1753 PR libstdc++/108211
1754 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
1755 using only last component of the name.
1756
1757 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1758
1759 PR libstdc++/108228
1760 PR libstdc++/108235
1761 * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
1762 the latest symbol version.
1763 * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
1764 atomic<_Node*> is not always lock free.
1765 (USE_ATOMIC_LIST_HEAD): New macro.
1766 [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
1767 definition of weak symbol.
1768 (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
1769 (tzdb_list::_Node::_S_list_head): New function for accessing
1770 list head efficiently.
1771 (tzdb_list::_Node::_S_cache_list_head): New function for
1772 updating _S_list_head.
1773
1774 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1775
1776 PR libstdc++/108265
1777 * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
1778 duration rep is unsigned.
1779 * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
1780
1781 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
1782
1783 PR libstdc++/108228
1784 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
1785 Add __gnu_cxx::zoneinfo_dir_override().
1786
1787 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
1788
1789 PR libstdc++/108258
1790 * include/std/array (__array_traits<T, 0>::operator T*()): Add
1791 constexpr.
1792 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
1793 std::array<T, 0>::data().
1794
1795 \f
1796 Copyright (C) 2023 Free Software Foundation, Inc.
1797
1798 Copying and distribution of this file, with or without modification,
1799 are permitted in any medium without royalty provided the copyright
1800 notice and this notice are preserved.