1 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
3 * doc/xml/manual/using.xml: Document libstdc++exp.a library.
4 * doc/html/*: Regenerate.
6 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
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:
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.
20 2023-04-12 Patrick Palka <ppalka@redhat.com>
22 * include/std/ranges (__cpp_lib_ranges_enumerate): Define
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.
35 2023-04-12 Patrick Palka <ppalka@redhat.com>
37 * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
38 Propagate _M_trailing_empty in the const-converting constructor
40 * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
42 * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
44 2023-04-12 Patrick Palka <ppalka@redhat.com>
46 * src/c++17/floating_from_chars.cc: Include <algorithm>,
47 <iterator>, <limits> and <cstdint>.
49 2023-04-12 Patrick Palka <ppalka@redhat.com>
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):
58 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
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)):
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:
71 2023-04-12 Jonathan Wakely <jwakely@redhat.com>
73 * src/c++20/tzdata.zi: Import new file from 2023c release.
75 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
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:
86 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
88 * include/bits/c++config: When __STDC_HOSTED__ is zero,
89 disable _GLIBCXX_DEBUG and, if it was set, enable
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
95 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
97 * testsuite/17_intro/versionconflict.cc: New test.
98 * include/std/version: Allow disabling the system_header pragma
99 via _GLIBCXX_TESTING_SYSHDR.
101 2023-04-05 Arsen Arsenović <arsen@aarsen.me>
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
111 * include/std/memory (__cpp_lib_atomic_value_initialization):
112 Define on freestanding under the same conditions as in
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.
140 2023-04-05 John David Anglin <danglin@gcc.gnu.org>
142 * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
143 timeout factor on hppa*-*-*.
145 2023-04-05 Jonathan Wakely <jwakely@redhat.com>
147 * include/bits/regex.h (sub_match::swap): New function.
148 * testsuite/28_regex/sub_match/lwg3204.cc: New test.
150 2023-04-04 Jonathan Wakely <jwakely@redhat.com>
152 * doc/xml/manual/extensions.xml: Remove std::bad_exception from
154 * doc/html/manual/ext_demangling.html: Regenerate.
156 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
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().
163 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
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.
170 2023-03-31 Jonathan Wakely <jwakely@redhat.com>
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
178 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
181 * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
182 * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
184 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
186 * include/experimental/internet (ip::make_address): Implement
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
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:
198 * testsuite/experimental/net/internet/endpoint/cons.cc:
200 * testsuite/experimental/net/internet/network/v4/cons.cc:
202 * testsuite/experimental/net/internet/network/v4/members.cc:
204 * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
206 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
208 * include/std/expected (expected::value() &): Use const lvalue
209 for unex member passed to bad_expected_access constructor, as
212 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
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.
223 2023-03-29 Jonathan Wakely <jwakely@redhat.com>
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.
229 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
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.
239 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
241 * include/bits/char_traits.h (char_traits::copy): Return without
242 using memcpy if n==0.
243 (char_traits::assign): Likewise for memset.
245 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
248 * include/bits/basic_string.h (basic_string::_M_is_local()): Add
249 hint for compiler that local strings fit in the local buffer.
251 2023-03-28 Jonathan Wakely <jwakely@redhat.com>
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()):
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.
262 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
264 * include/experimental/bits/simd.h (is_simd_flag_type): New.
265 (_IsSimdFlagType): New.
266 (copy_from, copy_to, load ctors): Constrain _Flags using
269 2023-03-28 Matthias Kretz <m.kretz@gsi.de>
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.
275 2023-03-27 Jakub Jelinek <jakub@redhat.com>
277 * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
278 warning if size_t is not unsigned long.
280 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
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.
287 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
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.
293 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
295 * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
297 * testsuite/20_util/exchange/constexpr.cc: Check for it.
299 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
301 * include/std/version (__cpp_lib_format): Define.
302 * testsuite/std/format/functions/format.cc: Check it.
304 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
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:
312 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
314 * include/std/format: Add a comment noting that the resolution
315 of LWG 3720 has been applied..
317 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
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.
323 2023-03-22 Jonathan Wakely <jwakely@redhat.com>
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.
330 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
332 * include/experimental/bits/simd_x86.h
333 (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
334 with __RECIPROCAL_MATH__.
336 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
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
343 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
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
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.
354 2023-03-21 Matthias Kretz <m.kretz@gsi.de>
356 * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
357 define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
359 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
361 * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
364 2023-03-20 Marek Polacek <polacek@redhat.com>
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.
371 2023-03-20 Jonathan Wakely <jwakely@redhat.com>
374 * include/std/expected (expected<void>::expected(in_place_t)):
375 Remove template-head.
377 2023-03-18 Jonathan Wakely <jwakely@redhat.com>
380 * testsuite/18_support/coroutines/hash.cc: Use const object
383 2023-03-17 Jonathan Wakely <jwakely@redhat.com>
386 * include/std/coroutine (hash<>::operator()): Add const.
387 * testsuite/18_support/coroutines/hash.cc: New test.
389 2023-03-14 Patrick Palka <ppalka@redhat.com>
392 * include/std/ranges (repeat_view): Remove redundant parentheses
394 (repeat_view::_Iterator): Correct the requires-clause.
396 2023-03-14 Patrick Palka <ppalka@redhat.com>
398 * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
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
404 * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
406 2023-03-14 Patrick Palka <ppalka@redhat.com>
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.
413 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
415 * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
416 Only define for C++17 and later.
418 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
420 * src/Makefile.am: Add comment about linker script fragments.
421 * src/Makefile.in: Regenerate.
423 2023-03-14 Jonathan Wakely <jwakely@redhat.com>
426 * include/bits/mask_array.h (mask_array): Add assertions to
427 assignment operators.
428 * include/std/valarray (valarray::operator[](valarray<bool>)):
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.
440 2023-03-13 Jakub Jelinek <jakub@redhat.com>
442 * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
443 * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
445 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
447 * doc/Makefile.am: Add comment referring to documentation.
448 * doc/Makefile.in: Regenerate.
450 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
452 * doc/html/*: Regenerate.
454 2023-03-13 Jonny Grant <jg@jguk.org>
456 * doc/xml/faq.xml: Update copyright year.
458 2023-03-13 Jonathan Wakely <jwakely@redhat.com>
460 * include/bits/allocator.h: Fix typo in comment.
462 2023-03-12 Jakub Jelinek <jakub@redhat.com>
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.
467 2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
469 * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
471 * doc/html/manual/documentation_hacking.html: Regenerate.
473 2023-03-10 Jonathan Wakely <jwakely@redhat.com>
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()
481 2023-03-09 Patrick Palka <ppalka@redhat.com>
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.
492 2023-03-09 Patrick Palka <ppalka@redhat.com>
495 * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
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.
501 2023-03-09 Patrick Palka <ppalka@redhat.com>
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.
517 2023-03-09 Patrick Palka <ppalka@redhat.com>
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.
525 2023-03-09 Jonathan Wakely <jwakely@redhat.com>
528 * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
531 2023-03-07 Jakub Jelinek <jakub@redhat.com>
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.
539 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
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}.
547 2023-03-07 Jonathan Wakely <jwakely@redhat.com>
549 * libsupc++/eh_personality.cc: Fix spelling in comment.
551 2023-03-03 Alexandre Oliva <oliva@adacore.com>
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.
557 2023-03-03 Alexandre Oliva <oliva@adacore.com>
559 * testsuite/libstdc++-prettyprinters/80276.cc: Add
560 std::string to debug info.
561 * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
563 2023-03-03 Alexandre Oliva <oliva@adacore.com>
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.
574 2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
576 * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
577 * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
579 * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
580 * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
583 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
585 * include/bits/cow_string.h: Fix typo in comment.
587 2023-03-01 Jonathan Wakely <jwakely@redhat.com>
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.
594 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
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.
603 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
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
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.
618 2023-02-28 Jonathan Wakely <jwakely@redhat.com>
620 * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
623 2023-02-27 Jonathan Wakely <jwakely@redhat.com>
625 * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
627 * include/bits/basic_string.h (resize_and_overwrite): Add
630 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
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.
641 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
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.
674 2023-02-24 Matthias Kretz <m.kretz@gsi.de>
677 * include/experimental/bits/simd_builtin.h
678 (_SimdImplBuiltin::_S_masked_unary): More efficient
679 implementation of masked inc-/decrement for integers and floats
681 * include/experimental/bits/simd_x86.h
682 (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
683 builtins for masked inc-/decrement.
685 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
687 * include/experimental/executor (executor): Constrain template
690 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
692 * include/experimental/internet (basic_endpoint): Add missing
693 constexpr to comparison operators.
694 * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
696 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
698 * include/experimental/internet (network_v4::netmask()): Avoid
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
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.
710 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
712 * include/experimental/internet (address_4(const bytes_type&)):
713 Use __builtin_bit_cast if available, otherwise convert to
715 (address_v4::to_bytes()): Likewise, but convert from network
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:
721 * testsuite/experimental/net/internet/address/v4/members.cc:
722 Check that bytes_type is a standard-layout type.
724 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
726 * include/experimental/internet (address_v4::to_string):
728 * testsuite/experimental/net/internet/address/v4/members.cc:
729 Check more addresses.
731 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
733 * include/ext/aligned_buffer.h (__aligned_buffer): Add
736 2023-02-24 Jonathan Wakely <jwakely@redhat.com>
738 * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
741 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
743 * testsuite/experimental/simd/tests/reductions.cc: Introduce
744 max_distance as the type-dependent max error.
746 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
748 * include/experimental/bits/simd_builtin.h (_S_set): Compare as
749 int. The actual range of these indexes is very small.
751 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
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.
757 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
760 * include/experimental/bits/simd_detail.h
761 (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
764 2023-02-23 Matthias Kretz <m.kretz@gsi.de>
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.
772 2023-02-22 Alexandre Oliva <oliva@adacore.com>
774 * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
775 Avoid destruction of the mutex pool.
777 2023-02-22 Alexandre Oliva <oliva@adacore.com>
779 * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
781 * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
784 2023-02-22 Alexandre Oliva <oliva@adacore.com>
786 * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
789 2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
791 * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
793 2023-02-20 Matthias Kretz <m.kretz@gsi.de>
795 * include/experimental/bits/simd.h (__extract_part, split):
796 Use reserved name for template parameter.
798 2023-02-20 Andreas Schwab <schwab@suse.de>
800 * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
802 2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
804 * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
805 * doc/html/faq.html: Regenerate.
807 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
809 * include/experimental/bits/simd_math.h (__hypot): Bitcasting
810 between scalars requires the __bit_cast helper function instead
813 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
820 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
822 * testsuite/experimental/simd/tests/bits/verify.h
823 (verify::verify): Use %zx for size_t in format string.
825 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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
836 (genHalfBits): Simplify.
837 * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
839 (make_alternating_mask): Moved from mask_loadstore.
840 * testsuite/experimental/simd/tests/bits/mathreference.h: Add
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):
848 * testsuite/experimental/simd/tests/abs.cc: Only include
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.
880 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
882 * testsuite/experimental/simd/README.md: Document the timeout
883 and timeout-factor directives. Minor typo fixed.
885 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
899 2023-02-16 Matthias Kretz <m.kretz@gsi.de>
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.
906 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
908 * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
911 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
918 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
920 * include/experimental/optional: Fix header name in comment.
922 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
930 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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.
939 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
941 * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
943 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
945 * include/ext/throw_allocator.h: Use reserved names for
948 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
950 * testsuite/17_intro/names_pstl.cc: Add space after effective
953 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
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
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):
966 * include/pstl/numeric_impl.h (__brick_adjacent_difference):
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.
973 2023-02-16 Jonathan Wakely <jwakely@redhat.com>
975 * include/bits/fs_ops.h (create_directory): Use reserved name
977 * include/bits/ranges_algo.h (__contains_subrange_fn):
979 * include/bits/regex_automaton.h (_State_base::_M_print):
981 * include/bits/regex_automaton.tcc(_State_base::_M_print):
983 * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
984 * include/experimental/bits/fs_ops.h (create_directory):
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.
993 2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
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.
999 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
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.
1009 2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
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:
1019 2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
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.
1025 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1027 * doc/xml/manual/containers.xml: Tweak a link to N1780
1029 * doc/html/manual/associative.html: Regenerate.
1031 2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
1033 * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
1034 * doc/html/manual/facets.html: Regenerate.
1036 2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
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.
1042 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
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
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
1052 * doc/html/*: Regenerate.
1054 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1056 * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
1057 (__find_last_if_fn): Likewise.
1059 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
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:
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:
1073 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
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.
1083 2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
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.
1091 2023-02-06 Arsen Arsenović <arsen@aarsen.me>
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.
1108 2023-02-06 Jonathan Wakely <jwakely@redhat.com>
1110 * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
1111 filesystem, libbacktrace and experimental.
1112 * src/Makefile.in: Regenerate.
1114 2023-02-04 Hans-Peter Nilsson <hp@axis.com>
1117 * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
1120 2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
1122 * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
1123 * doc/html/manual/documentation_hacking.html: Regenerate.
1125 2023-02-04 François Dumont <fdumont@gcc.gnu.org>
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):
1132 2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
1134 * config/os/gnu-linux/os_defines.h [!__linux__]
1135 (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
1137 2023-02-03 Patrick Palka <ppalka@redhat.com>
1139 * include/bits/ranges_algo.h (__find_last_fn, find_last):
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.
1147 2023-02-03 Patrick Palka <ppalka@redhat.com>
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.
1154 2023-02-03 Patrick Palka <ppalka@redhat.com>
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.
1161 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1163 * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
1164 * doc/html/manual/abi.html: Regenerate.
1166 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1168 * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
1169 errc::function_not_supported instead of errc::not_supported.
1171 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1173 * include/std/sstream (basic_stringbuf::view): Define for old
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:
1181 * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
1182 * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
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:
1190 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
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
1199 * src/c++17/fs_path.cc: ... here.
1200 * testsuite/27_io/filesystem/path/108636.cc: New test.
1202 2023-02-02 Jonathan Wakely <jwakely@redhat.com>
1204 * include/std/variant (variant::operator=): Implement resolution
1206 * testsuite/20_util/variant/lwg3585.cc: New test.
1208 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1210 * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
1212 * doc/html/manual/using_exceptions.html: Regenerate.
1214 2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
1216 * doc/xml/manual/debug.xml: Fix link to online GDB manual.
1217 * doc/html/manual/debug.html: Regenerate.
1219 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
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.
1225 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1227 * config/os/generic/error_constants.h (errc::value_too_large)
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,
1238 2023-02-01 Jonathan Wakely <jwakely@redhat.com>
1240 * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
1242 * configure: Regenerate.
1244 2023-02-01 Hans-Peter Nilsson <hp@axis.com>
1247 * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
1248 struct at end of S0.
1250 2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
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.
1257 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
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.
1264 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1266 * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
1268 * doc/html/manual/documentation_hacking.html: Regenerate.
1270 2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
1272 * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
1273 * doc/html/manual/abi.html: Regenerate.
1275 2023-01-27 Jakub Jelinek <jakub@redhat.com>
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.
1283 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1285 * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
1288 2023-01-27 Jonathan Wakely <jwakely@redhat.com>
1291 * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
1293 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1295 * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
1296 rules named "+" for compatibility with older tzdata.zi files.
1298 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1301 * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
1303 (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
1305 * testsuite/23_containers/map/modifiers/108554.cc: New test.
1307 2023-01-26 Jonathan Wakely <jwakely@redhat.com>
1310 * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
1311 /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
1313 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
1315 * doc/xml/manual/intro.xml: Update links to www.open-std.org to
1317 * doc/html/manual/bugs.html: Regenerate.
1319 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
1322 * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
1323 /etc/sysconfig/clock.
1325 2023-01-24 Jonathan Wakely <jwakely@redhat.com>
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.
1336 2023-01-23 François Dumont <fdumont@gcc.gnu.org>
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()
1344 * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
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.
1351 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
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:
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.
1362 2023-01-18 Jonathan Wakely <jwakely@redhat.com>
1364 * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
1365 Always call _M_fini and _M_getentropy.
1367 2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
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.
1375 2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
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.
1381 2023-01-17 Jonathan Wakely <jwakely@redhat.com>
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.
1387 2023-01-17 Martin Liska <mliska@suse.cz>
1389 * src/libbacktrace/Makefile.in: Regenerate.
1391 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
1393 * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
1395 2023-01-16 Jonathan Wakely <jwakely@redhat.com>
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.
1403 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
1405 * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
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.
1412 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
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.
1417 2023-01-15 François Dumont <fdumont@gcc.gnu.org>
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)):
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:
1429 * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
1432 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1434 * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
1437 2023-01-15 Jonathan Wakely <jwakely@redhat.com>
1439 * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
1441 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
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.
1450 2023-01-14 Björn Schäpers <bjoern@hazardy.de>
1452 * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
1453 raw __name if __cxa_demangle could not demangle it.
1455 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1458 * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
1461 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
1463 * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
1465 * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
1467 * testsuite/std/time/tzdb_list/1.cc: Likewise.
1469 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
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
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.
1492 2023-01-14 Jonathan Wakely <jwakely@redhat.com>
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.
1506 2023-01-14 François Dumont <fdumont@gcc.gnu.org>
1508 * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
1510 * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
1513 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1515 * include/bits/std_mutex.h: Include <errno.h>.
1517 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
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
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:
1529 * testsuite/std/ranges/version_c++23.cc: Don't test for presence
1530 of __cpp_lib_ranges in !HOSTED.
1532 2023-01-13 Arsen Arsenović <arsen@aarsen.me>
1534 * include/Makefile.am: Install bits/char_traits.h,
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
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
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:
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
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:
1572 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
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
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
1584 * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
1587 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1590 * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
1591 __GTHREAD_LEGACY_MUTEX_T if defined.
1593 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1596 * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
1597 Export __try_use_facet specializations for facets in namespace
1599 * config/os/gnu-linux/ldbl-ieee128-extra.ver
1600 (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
1602 * testsuite/util/testsuite_abi.cc: Add to lists of known and
1605 2023-01-13 Jonathan Wakely <jwakely@redhat.com>
1607 * include/bits/std_mutex.h: Remove <system_error> include.
1608 * include/std/condition_variable: Add <bits/error_constants.h>
1610 * include/std/mutex: Likewise.
1611 * include/std/shared_mutex: Likewise.
1613 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
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.
1622 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1624 * doc/xml/manual/abi.xml: Add latest library versions.
1625 * doc/html/manual/abi.html: Regenerate.
1627 2023-01-12 François Dumont <fdumont@gcc.gnu.org>
1630 * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
1631 unused _Alloc_node instance.
1633 2023-01-12 Jonathan Wakely <jwakely@redhat.com>
1635 * include/bits/atomic_wait.h (__detail::__platform_wait_t):
1636 Define as unsigned long if always lock-free, and unsigned int
1639 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1641 * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
1642 __catch macros for exception handling.
1644 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
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.
1652 2023-01-10 Jonathan Wakely <jwakely@redhat.com>
1655 * include/std/span (span::span()): Un-simplify constraint to
1656 work for size_t of lesser rank than int.
1658 2023-01-07 LIU Hao <lh_mouse@126.com>
1660 PR middle-end/108300
1661 * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
1663 * src/c++11/thread.cc: Likewise.
1664 * src/c++17/fs_ops.cc: Likewise.
1665 * src/filesystem/ops.cc: Likewise.
1667 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1670 * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
1672 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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
1681 2023-01-06 Patrick Palka <ppalka@redhat.com>
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
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.
1708 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
1715 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
1718 * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
1719 Disable visiting floating-point types.
1721 2023-01-06 Jonathan Wakely <jwakely@redhat.com>
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.
1728 2023-01-05 John David Anglin <danglin@gcc.gnu.org>
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.
1735 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1738 * python/libstdcxx/v6/printers.py (_utc_timezone): New global
1740 (StdChronoTimePointPrinter::to_string): Use it.
1742 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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
1751 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
1754 * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
1755 using only last component of the name.
1757 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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.
1774 2023-01-05 Jonathan Wakely <jwakely@redhat.com>
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.
1781 2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
1784 * config/abi/pre/gnu.ver (GLIBCXX_3.4):
1785 Add __gnu_cxx::zoneinfo_dir_override().
1787 2023-01-04 Jonathan Wakely <jwakely@redhat.com>
1790 * include/std/array (__array_traits<T, 0>::operator T*()): Add
1792 * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
1793 std::array<T, 0>::data().
1796 Copyright (C) 2023 Free Software Foundation, Inc.
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.