diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-01-03 11:28:42 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2024-01-03 11:29:39 +0100 |
commit | 8c22aed4b09ce6ffa7bd669377355e38f04614d6 (patch) | |
tree | 6e874a9e0a340c9513d966f6e6185b9952cec95a /libstdc++-v3 | |
parent | 87acfc36194e3101b8ebcc599a78e2481224922d (diff) | |
download | gcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.zip gcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.tar.gz gcc-8c22aed4b09ce6ffa7bd669377355e38f04614d6.tar.bz2 |
Rotate ChangeLog files.
Rotate ChangeLog files for ChangeLogs with yearly cadence.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/ChangeLog | 8350 | ||||
-rw-r--r-- | libstdc++-v3/ChangeLog-2023 | 8354 |
2 files changed, 8355 insertions, 8349 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index f97165b..dc0c0df 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,8353 +1,5 @@ -2023-12-31 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3. - -2023-12-31 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable.h: Move comment about all equivalent values - being next to each other in the class documentation header. - (_M_reinsert_node, _M_merge_unique): Implement small size optimization. - (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise. - -2023-12-31 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries - w/o copy to see potential impact of memory fragmentation enhancements. - * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash - functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as - slow or not to bench w/o hash code cache. - * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like - previous one but using std::unordered_set. - * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case. - Check performance of range-insertion compared to individual insertions. - * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench - but after a copy to demonstrate impact of enhancements regarding memory fragmentation. - -2023-12-22 Christophe Lyon <christophe.lyon@linaro.org> - - * Makefile.am: Allow overriding EXEPCT. - * Makefile.in: Regenerate. - -2023-12-21 Arsen Arsenović <arsen@aarsen.me> - - * include/Makefile.am: Install std/generator, bits/elements_of.h - as freestanding. - * include/Makefile.in: Regenerate. - * include/bits/version.def: Add __cpp_lib_generator. - * include/bits/version.h: Regenerate. - * include/precompiled/stdc++.h: Include <generator>. - * include/std/ranges: Include bits/elements_of.h - * include/bits/elements_of.h: New file. - * include/std/generator: New file. - * testsuite/24_iterators/range_generators/01.cc: New test. - * testsuite/24_iterators/range_generators/02.cc: New test. - * testsuite/24_iterators/range_generators/copy.cc: New test. - * testsuite/24_iterators/range_generators/except.cc: New test. - * testsuite/24_iterators/range_generators/synopsis.cc: New test. - * testsuite/24_iterators/range_generators/subrange.cc: New test. - -2023-12-21 Arsen Arsenović <arsen@aarsen.me> - - * include/bits/ranges_util.h: Add missing <bits/invoke.h> - include. - -2023-12-18 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/112802 - PR libstdc++/113068 - * include/std/ranges (__detail::_To::operator()): Add constraints. - (__detail::_To2::operator()): Likewise. - * testsuite/std/ranges/conv/1.cc (test_sfinae): New test. - (test_composition): New test. - -2023-12-16 Jonathan Wakely <jwakely@redhat.com> - - * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno - macro. - -2023-12-16 H.J. Lu <hjl.tools@gmail.com> - - * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: - Updated. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (remove_pointer): Use __remove_pointer - built-in trait. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_object): Use __is_object built-in - trait. - (is_object_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_function): Use __is_function - built-in trait. - (is_function_v): Likewise. Optimize its implementation. Move - this under is_const_v as this depends on is_const_v. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_reference): Use __is_reference - built-in trait. - (is_reference_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_member_object_pointer): Use - __is_member_object_pointer built-in trait. - (is_member_object_pointer_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_member_function_pointer): Use - __is_member_function_pointer built-in trait. - (is_member_function_pointer_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_member_pointer): Use - __is_member_pointer built-in trait. - (is_member_pointer_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_scoped_enum): Use - __is_scoped_enum built-in trait. - (is_scoped_enum_v): Likewise. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_bounded_array_v): Use - __is_bounded_array built-in trait. - -2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (is_array): Use __is_array built-in - trait. - (is_array_v): Likewise. - -2023-12-15 Jonathan Wakely <jwakely@redhat.com> - - * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle - does not refer to the console then just write to it using normal - file I/O. - * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print - error message on failure. - (test_utf16_transcoding): Adjust for as_printed_to_terminal - modifying its argument. - -2023-12-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard. - (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode. - * include/std/print (vprint_unicode) [!_WIN32]: Likewise. - -2023-12-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ostream (vprint_nonunicode, vprint_unicode): Do - not insert padding. - * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected - behaviour. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/107760 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/version.def (__cpp_lib_print): Define. - * include/bits/version.h: Regenerate. - * include/std/format (__literal_encoding_is_utf8): New function. - (_Seq_sink::view()): New member function. - * include/std/ostream (vprintf_nonunicode, vprintf_unicode) - (print, println): New functions. - * include/std/print: New file. - * src/c++23/Makefile.am: Add new source file. - * src/c++23/Makefile.in: Regenerate. - * src/c++23/print.cc: New file. - * testsuite/27_io/basic_ostream/print/1.cc: New test. - * testsuite/27_io/print/1.cc: New test. - * testsuite/27_io/print/2.cc: New test. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add - missing header to configure test. Check correct variable. - * config/io/basic_file_stdio.cc (__basic_file<char>::native_handle): - Fix typo. - * configure: Regenerate. - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not - call CloseHandle on the native handle. - * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: - Likewise. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (_Seq_sink): Fix missing argument in - discarded statement. Add comments, likely/unlikely attributes - and debug assertions as sanity checks. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/objects/char/2.cc: Use dg-output. - * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order - of arguments to std::format_to. - * testsuite/20_util/duration/io.cc: Test subsecond duration with - floating-point rep. - -2023-12-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109536 - * include/bits/c++config (__glibcxx_constexpr_assert): Remove - macro. - * include/bits/stl_algobase.h (__niter_base, __copy_move_a) - (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) - (__lexicographical_compare_aux): Add constexpr to overloads for - debug mode iterators. - * include/debug/helper_functions.h (__unsafe): Add constexpr. - * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove - macro, folding it into ... - (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use - __glibcxx_constexpr_assert. - * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr - to some member functions. Omit attaching, detaching and checking - operations during constant evaluation. - * include/debug/safe_container.h (_Safe_container): Likewise. - * include/debug/safe_iterator.h (_Safe_iterator): Likewise. - * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a) - (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) - (__lexicographical_compare_aux): Add constexpr. - * include/debug/vector (_Safe_vector, vector): Add constexpr. - Omit safe iterator operations during constant evaluation. - * testsuite/23_containers/vector/bool/capacity/constexpr.cc: - Remove dg-xfail-if for debug mode. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/1.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/data_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: - Adjust dg-error line number. - -2023-12-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do - not round century down for %Y formats. - -2023-12-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__do_vformat_to): Handle char separately - from other integral types. - * testsuite/std/format/functions/format.cc: Check for expected - output for char and bool arguments. - * testsuite/std/format/string.cc: Check that 0 filling is - rejected for character and string formats. - -2023-12-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix - rounding for negative centuries. - * testsuite/std/time/year/io.cc: Check %C for negative years. - -2023-12-12 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags. - * src/c++11/Makefile.in: Regenerate. - -2023-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111826 - * include/bits/version.def (format): Update value. - * include/bits/version.h: Regenerate. - * testsuite/std/format/functions/format.cc: - -2023-12-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112876 - * include/std/ranges (ranges::to): Do not try to use an iterator - returned by the container's emplace or insert member functions. - * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert): - Use the iterator parameter. Do not return an iterator. - -2023-12-07 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__detail::_ToClosure): Replace with ... - (__detail::_To): ... this. - (__detail::_ToClosure2): Replace with ... - (__detail::To2): ... this. - (to): Simplify using the existing _Partial range adaptor - closure object. - -2023-12-07 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (_Iter_sink<charT, contiguous_iterator>): - Remove uint64_t local type. - -2023-12-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_wait.h: Include <cstdint> instead of - <stdint.h>. - -2023-12-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112882 - * include/bits/c++config (__is_constant_evaluated): Add - always_inline attribute. - (_GLIBCXX_DO_ASSERT): Remove macro. - (__glibcxx_assert): Define separately for assertions-enabled and - constexpr-only cases. - -2023-12-07 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/112858 - * config/os/gnu-linux/os_defines.h - (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define. - * libsupc++/atexit_thread.cc [__GXX_WEAK__ && - _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL] - (__cxa_thread_atexit): Add dynamic detection of - __cxa_thread_atexit_impl. - -2023-12-06 Jason Merrill <jason@redhat.com> - - DR 532 - PR c++/53499 - * testsuite/23_containers/vector/ext_pointer/types/1.cc - * testsuite/23_containers/vector/ext_pointer/types/2.cc - (N::operator-): Make less specialized. - -2023-12-06 Alexandre Oliva <oliva@gnu.org> - - Revert: - 2023-12-02 Alexandre Oliva <oliva@adacore.com> - - * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic - detection of __cxa_thread_atexit_impl. - -2023-12-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111948 - * include/bits/ranges_util.h (subrange): Add constructor to - _Size to aoid setting member in constructor. - * testsuite/std/ranges/subrange/111948.cc: New test. - -2023-12-05 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (__detail::__container_insertable): Remove. - (__detail::__container_inserter): Remove. - (ranges::to): Use emplace_back or emplace, as per LWG 4016. - * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for - use of emplace_back and emplace. - -2023-12-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (__glibcxx_assert_fail): Declare even - when assertions are not enabled. - (__glibcxx_constexpr_assert): Remove macro. - (__glibcxx_assert_impl): Remove macro. - (_GLIBCXX_ASSERT_FAIL): New macro. - (_GLIBCXX_DO_ASSERT): New macro. - (__glibcxx_assert): Simplify to a single definition that works - at runtime and during constant evaluation. - * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: - Adjust expected errors. - * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: - Likewise. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: - Likewise. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_neg.cc: Likewise. - * testsuite/26_numerics/lcm/105844.cc: Likewise. - -2023-12-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112832 - * include/std/format (formatter::set_debug_format): Ensure this - member is defined conditionally for all specializations. - * testsuite/std/format/formatter/112832.cc: New test. - -2023-12-05 Will Hawkins <hawkinsw@obs.cr> - Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check - for LWG Issue 3897. - -2023-12-05 Marek Polacek <polacek@redhat.com> - - PR c++/107687 - PR c++/110997 - * testsuite/18_support/comparisons/categories/zero_neg.cc: Add - dg-prune-output. - * testsuite/std/format/string_neg.cc: Add dg-error. - -2023-12-02 Alexandre Oliva <oliva@adacore.com> - - * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic - detection of __cxa_thread_atexit_impl. - -2023-12-01 Jason Merrill <jason@redhat.com> - - * include/std/bit: Avoid builtins in requires-clauses. - * include/std/variant: Likewise. - -2023-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * configure: Regenerate. - -2023-11-30 Jonathan Wakely <jwakely@redhat.com> - - * include/std/ranges (__detail::__toable): Fix incorrect use of - _Range instead of _Cont. - (__detail::_ToClosure, __detail::_ToClosure2): Add missing - constexpr specifier on constructors. - * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove - unnecessary begin() and end() members. - (test_constexpr): New function to check range adaptors are - usable in constant expressions. - -2023-11-29 Thomas Schwinge <thomas@codesourcery.com> - - * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions' - configurations. - -2023-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_wait.h: Include <stdint.h>. - -2023-11-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_uninitialized.h: Fix typo in comment. - -2023-11-24 Jan Hubicka <jh@suse.cz> - - PR middle-end/109849 - * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead - of memmove. - -2023-11-23 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111055 - * include/bits/ranges_base.h (from_range_t): Define new tag - type. - (from_range): Define new tag object. - * include/bits/version.def (ranges_to_container): Define. - * include/bits/version.h: Regenerate. - * include/std/ranges (ranges::to): Define. - * testsuite/std/ranges/conv/1.cc: New test. - * testsuite/std/ranges/conv/2_neg.cc: New test. - * testsuite/std/ranges/conv/version.cc: New test. - -2023-11-23 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix - equality operator for heterogeneous comparisons. - -2023-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (freestanding_cstring): Add. - * include/bits/version.h: Regenerate. - * include/c_compatibility/string.h (strtok): Do not declare for - C++26 freestanding. - * include/c_global/cstring (strtok): Likewise. - * testsuite/21_strings/headers/cstring/version.cc: New test. - -2023-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (freestanding_algorithm) - (freestanding_array, freestanding_optional) - (freestanding_string_view, freestanding_variant): Add. - * include/bits/version.h: Regenerate. - * include/std/algorithm (__glibcxx_want_freestanding_algorithm): - Define. - * include/std/array (__glibcxx_want_freestanding_array): - Define. - * include/std/optional (__glibcxx_want_freestanding_optional): - Define. - * include/std/string_view - (__glibcxx_want_freestanding_string_view): Define. - * include/std/variant (__glibcxx_want_freestanding_variant): - Define. - * testsuite/20_util/optional/version.cc: Add checks for - __cpp_lib_freestanding_optional. - * testsuite/20_util/variant/version.cc: Add checks for - __cpp_lib_freestanding_variant. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - * testsuite/21_strings/basic_string_view/requirements/version.cc: - New test. - * testsuite/23_containers/array/requirements/version.cc: New - test. - * testsuite/25_algorithms/fill_n/requirements/version.cc: New - test. - * testsuite/25_algorithms/swap_ranges/requirements/version.cc: - New test. - -2023-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (freestanding_expected): New macro. - (span): Add C++26 value. - * include/bits/version.h: Regenerate. - * include/std/expected (__glibcxx_want_freestanding_expected): - Define. - * include/std/span (span::at): New member function. - * testsuite/20_util/expected/version.cc: Add checks for - __cpp_lib_freestanding_expected. - * testsuite/23_containers/span/2.cc: Moved to... - * testsuite/23_containers/span/version.cc: ...here. Add checks - for __cpp_lib_span in <span> as well as in <version>. - * testsuite/23_containers/span/1.cc: Removed. - * testsuite/23_containers/span/at.cc: New test. - -2023-11-21 Jonathan Wakely <jwakely@redhat.com> - - * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one - characters to _M_copy_from_string. - * testsuite/tr2/dynamic_bitset/string.cc: New test. - -2023-11-21 Jonathan Wakely <jwakely@redhat.com> - - * doc/html/*: Regenerate. - * doc/xml/faq.xml: Remove reference to buildstat.html pages. - * doc/xml/manual/test.xml: Likewise - -2023-11-21 Jan Hubicka <jh@suse.cz> - - PR libstdc++/110287 - PR middle-end/109811 - PR middle-end/109849 - * include/bits/stl_vector.h (_M_realloc_append): New member function. - (push_back): Use it. - * include/bits/vector.tcc: (emplace_back): Use it. - (_M_realloc_insert): Let compiler know that new vector size is non-zero. - (_M_realloc_append): New member function. - -2023-11-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112607 - * include/std/format (basic_format_arg::_S_to_arg_type): Check - value_type for basic_string_view and basic_string - specializations. - * testsuite/std/format/arguments/112607.cc: New test. - -2023-11-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110801 - * include/std/format (_Sink_iter::_M_reserve): New member - function. - (_Sink::_Reservation): New nested class. - (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions. - (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual - overrides. - (_Iter_sink<O, ContigIter>::_M_reserve): Likewise. - (__do_vformat_to): Use new functions to optimize "{}" case. - -2023-11-17 Jonathan Wakely <jwakely@redhat.com> - - * config.h.in: Regenerate. - -2023-11-17 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/version.def (saturation_arithmetic): Define. - * include/bits/version.h: Regenerate. - * include/std/numeric: Include new header. - * include/bits/sat_arith.h: New file. - * testsuite/26_numerics/saturation/add.cc: New test. - * testsuite/26_numerics/saturation/cast.cc: New test. - * testsuite/26_numerics/saturation/div.cc: New test. - * testsuite/26_numerics/saturation/mul.cc: New test. - * testsuite/26_numerics/saturation/sub.cc: New test. - * testsuite/26_numerics/saturation/version.cc: New test. - -2023-11-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/utility (in_range): Rename _Up parameter to _Res. - -2023-11-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/out_ptr.h: Add Doxygen comments. Remove a - redundant preprocessor condition. - * testsuite/20_util/smartptr.adapt/version.cc: New test. - -2023-11-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h: Fix Doxygen markup. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112564 - * include/std/stacktrace (formatter::format): Format according - to format-spec. - * include/std/thread (formatter::format): Use _Align_right as - default. - * testsuite/19_diagnostics/stacktrace/output.cc: Check - fill-and-align handling. Change compile test to run. - * testsuite/30_threads/thread/id/output.cc: Check fill-and-align - handling. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111667 - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/bits/out_ptr.h: New file. - * include/bits/shared_ptr.h (__is_shared_ptr): Move definition - to here ... - * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from - here. - * include/bits/shared_ptr_base.h (__shared_count): Declare - out_ptr_t as a friend. - (_Sp_counted_deleter, __shared_ptr): Likewise. - * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>): - Declare out_ptr_t and inout_ptr_t as friends. - (__is_unique_ptr): Define new variable template. - * include/bits/version.def (out_ptr): Define. - * include/bits/version.h: Regenerate. - * include/std/memory: Include new header. - * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc: - New test. - * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New - test. - * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test. - * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test. - * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc: - New test. - * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New - test. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/algorithmfwd.h: Do not define standard feature - test macro here. - * include/bits/align.h: Likewise. Test internal macros instead - of standard macros. - * include/bits/alloc_traits.h: Likewise. - * include/bits/allocator.h: Likewise. - * include/bits/atomic_base.h: Likewise. - * include/bits/atomic_timed_wait.h: Likewise. - * include/bits/atomic_wait.h: Likewise. - * include/bits/basic_string.h: Likewise. - * include/bits/basic_string.tcc: Likewise. - * include/bits/char_traits.h: Likewise. - * include/bits/chrono.h: Likewise. - * include/bits/cow_string.h: Likewise. - * include/bits/forward_list.h: Likewise. - * include/bits/hashtable.h: Likewise. - * include/bits/ios_base.h: Likewise. - * include/bits/memory_resource.h: Likewise. - * include/bits/move.h: Likewise. - * include/bits/move_only_function.h: Likewise. - * include/bits/node_handle.h: Likewise. - * include/bits/ptr_traits.h: Likewise. - * include/bits/range_access.h: Likewise. - * include/bits/ranges_algo.h: Likewise. - * include/bits/ranges_cmp.h: Likewise. - * include/bits/ranges_util.h: Likewise. - * include/bits/semaphore_base.h: Likewise. - * include/bits/shared_ptr.h: Likewise. - * include/bits/shared_ptr_atomic.h: Likewise. - * include/bits/shared_ptr_base.h: Likewise. - * include/bits/stl_algo.h: Likewise. - * include/bits/stl_algobase.h: Likewise. - * include/bits/stl_function.h: Likewise. - * include/bits/stl_iterator.h: Likewise. - * include/bits/stl_list.h: Likewise. - * include/bits/stl_map.h: Likewise. - * include/bits/stl_pair.h: Likewise. - * include/bits/stl_queue.h: Likewise. - * include/bits/stl_stack.h: Likewise. - * include/bits/stl_tree.h: Likewise. - * include/bits/stl_uninitialized.h: Likewise. - * include/bits/stl_vector.h: Likewise. - * include/bits/unique_ptr.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/uses_allocator_args.h: Likewise. - * include/bits/utility.h: Likewise. - * include/bits/erase_if.h: Add comment. - * include/std/algorithm: Define standard feature test macros - here. - * include/std/atomic: Likewise. - * include/std/array: Likewise. - * include/std/chrono: Likewise. - * include/std/condition_variable: Likewise. - * include/std/deque: Likewise. - * include/std/format: Likewise. - * include/std/functional: Likewise. - * include/std/forward_list: Likewise. - * include/std/ios: Likewise. - * include/std/iterator: Likewise. - * include/std/list: Likewise. - * include/std/map: Likewise. - * include/std/memory: Likewise. - * include/std/numeric: Likewise. - * include/std/queue: Likewise. - * include/std/ranges: Likewise. - * include/std/regex: Likewise. - * include/std/set: Likewise. - * include/std/stack: Likewise. - * include/std/stop_token: Likewise. - * include/std/string: Likewise. - * include/std/string_view: - * include/std/tuple: Likewise. - * include/std/unordered_map: - * include/std/unordered_set: - * include/std/utility: Likewise. - * include/std/vector: Likewise. - * include/std/scoped_allocator: Query internal macros instead of - standard macros. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/byte/requirements.cc: Disable PCH. - * testsuite/18_support/destroying_delete.cc: Likewise. - * testsuite/18_support/source_location/1.cc: Likewise. - * testsuite/18_support/source_location/version.cc: Likewise. - * testsuite/18_support/type_info/constexpr.cc: Likewise. - * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: - Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. - * testsuite/20_util/addressof/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/allocator_traits/header-2.cc: Likewise. - * testsuite/20_util/allocator_traits/header.cc: Likewise. - * testsuite/20_util/as_const/1.cc: Likewise. Likewise. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. - * testsuite/20_util/bitset/version.cc: Likewise. - * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: - Likewise. - * testsuite/20_util/duration_cast/rounding.cc: Likewise. - * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: - Likewise. - * testsuite/20_util/exchange/constexpr.cc: Likewise. - * testsuite/20_util/expected/synopsis.cc: Likewise. - * testsuite/20_util/expected/version.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. - * testsuite/20_util/function_objects/invoke/3.cc: Likewise. - * testsuite/20_util/function_objects/invoke/4.cc: Likewise. - * testsuite/20_util/function_objects/invoke/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/invoke/version.cc: - Likewise. - * testsuite/20_util/function_objects/searchers.cc: Likewise. - * testsuite/20_util/integer_comparisons/1.cc: Likewise. - * testsuite/20_util/integer_comparisons/2.cc: Likewise. - * testsuite/20_util/is_bounded_array/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/version.cc: Likewise. - * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. - * testsuite/20_util/is_nothrow_swappable/value.h: Likewise. - * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable - PCH. - * testsuite/20_util/is_pointer_interconvertible/value.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/version.cc: - Likewise. - * testsuite/20_util/is_scoped_enum/value.cc: Likewise. - * testsuite/20_util/is_scoped_enum/version.cc: Likewise. - * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable/requirements/typedefs.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable/value.cc: Disable PCH. - * testsuite/20_util/is_swappable/value.h: Reorder headers. - * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: - Remove redundant checks already tested elsewhere. - * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. - * testsuite/20_util/is_unbounded_array/value.cc: Likewise. - * testsuite/20_util/move_only_function/cons.cc: Likewise. - * testsuite/20_util/move_only_function/version.cc: Likewise. - * testsuite/20_util/optional/monadic/and_then.cc: Likewise. - * testsuite/20_util/optional/requirements.cc: Likewise. - * testsuite/20_util/optional/version.cc: Likewise. - * testsuite/20_util/owner_less/void.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value.cc: Likewise. - * testsuite/20_util/reference_from_temporary/version.cc: - Likewise. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. - * testsuite/20_util/time_point_cast/rounding.cc: Likewise. - * testsuite/20_util/to_chars/constexpr.cc: Likewise. - * testsuite/20_util/to_chars/result.cc: Likewise. - * testsuite/20_util/to_chars/version.cc: Likewise. - * testsuite/20_util/to_underlying/1.cc: Likewise. - * testsuite/20_util/to_underlying/version.cc: Likewise. - * testsuite/20_util/tuple/apply/1.cc: Likewise. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: - Likewise. - * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. - * testsuite/20_util/tuple/p2321r2.cc: Likewise. - * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. - * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: - Likewise. - * testsuite/20_util/unreachable/1.cc: Likewise. - * testsuite/20_util/unreachable/version.cc: Likewise. - * testsuite/20_util/unwrap_reference/1.cc: Likewise. - * testsuite/20_util/unwrap_reference/3.cc: Likewise. - * testsuite/20_util/variant/constexpr.cc: Likewise. - * testsuite/20_util/variant/version.cc: Likewise. - * testsuite/20_util/variant/visit_inherited.cc: Likewise. - * testsuite/20_util/void_t/1.cc: Likewise. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/erasure.cc: Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/version.cc: - Likewise. - * testsuite/21_strings/basic_string/version.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/version.cc: - Likewise. - * testsuite/23_containers/array/comparison_operators/constexpr.cc: - Likewise. - * testsuite/23_containers/array/creation/1.cc: Likewise. - * testsuite/23_containers/array/creation/2.cc: Likewise. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_fill.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_iter.cc: - Likewise. - * testsuite/23_containers/deque/erasure.cc: Likewise. - * testsuite/23_containers/forward_list/erasure.cc: Likewise. - * testsuite/23_containers/list/erasure.cc: Likewise. - * testsuite/23_containers/map/erasure.cc: Likewise. - * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/span/1.cc: Likewise. - * testsuite/23_containers/span/2.cc: Likewise. - * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - * testsuite/23_containers/vector/requirements/version.cc: - Likewise. - * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. - * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: - Remove redundant checks already tested elsewhere. - * testsuite/25_algorithms/constexpr_macro.cc: Likewise. - * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. - * testsuite/25_algorithms/fold_left/1.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. - * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. - * testsuite/26_numerics/bit/header-2.cc: Likewise. - * testsuite/26_numerics/bit/header.cc: Likewise. - * testsuite/26_numerics/complex/1.cc: Likewise. - * testsuite/26_numerics/complex/2.cc: Likewise. - * testsuite/26_numerics/endian/2.cc: Likewise. - * testsuite/26_numerics/endian/3.cc: Likewise. - * testsuite/26_numerics/gcd/1.cc: Likewise. - * testsuite/26_numerics/lcm/1.cc: Likewise. - * testsuite/26_numerics/lerp/1.cc: Likewise. - * testsuite/26_numerics/lerp/version.cc: Likewise. - * testsuite/26_numerics/midpoint/integral.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: Likewise. - * testsuite/26_numerics/numbers/1.cc: Likewise. - * testsuite/26_numerics/numbers/2.cc: Likewise. - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: - Likewise. - * testsuite/27_io/basic_filebuf/native_handle/version.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: - Likewise. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: - Likewise. - * testsuite/27_io/basic_syncbuf/1.cc: Likewise. - * testsuite/27_io/basic_syncbuf/2.cc: Likewise. - * testsuite/27_io/basic_syncstream/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/2.cc: Likewise. - * testsuite/27_io/spanstream/1.cc: Likewise. - * testsuite/27_io/spanstream/version.cc: Likewise. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. - * testsuite/30_threads/barrier/1.cc: Likewise. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/1.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/jthread/1.cc: Likewise. - * testsuite/30_threads/jthread/version.cc: Likewise. - * testsuite/30_threads/latch/1.cc: Likewise. - * testsuite/30_threads/latch/2.cc: Likewise. - * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: - Likewise. - * testsuite/30_threads/semaphore/1.cc: Likewise. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/stop_token/1.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - * testsuite/experimental/feat-char8_t.cc: Likewise. - * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. - * testsuite/experimental/numeric/gcd.cc: Likewise. - * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. - * testsuite/std/concepts/1.cc: Likewise. - * testsuite/std/concepts/2.cc: Likewise. - * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Likewise. - * testsuite/experimental/feat-cxx14.cc: Likewise. Include - <algorithm> and <iterator>. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Adjust dg-error line numbers. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (stds): Use >= 202100 for C++23 - condition. - * include/bits/version.h: Regenerate. - * include/std/thread: Use > C++20 instead of >= C++23 for - __cplusplus condition. - -2023-11-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/istream (__rvalue_stream_extraction_t): Test - __cpp_concepts instead of __cpp_lib_concepts. - * include/std/ostream (__derived_from_ios_base): Likewise. - (__rvalue_stream_insertion_t): Likewise. - -2023-11-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112491 - * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): - Correctly handle unused capacity at the start of the first node. - * testsuite/libstdc++-xmethods/deque.cc: Check index operator - when elements have been removed from the front. - -2023-11-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/stacktrace (basic_stacktrace::at): Fix class name - in exception message. - * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if - current() returns a non-empty stacktrace. - -2023-11-15 Alexandre Oliva <oliva@gnu.org> - - Revert: - 2023-11-15 Alexandre Oliva <oliva@adacore.com> - - * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. - -2023-11-15 Alexandre Oliva <oliva@adacore.com> - - * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. - -2023-11-14 Cassio Neri <cassio.neri@gmail.com> - - * include/std/chrono (operator-(const weekday&, const weekday&)): - Optimize. - -2023-11-14 Cassio Neri <cassio.neri@gmail.com> - - * include/std/chrono (weekday::_S_from_days): Fix UB. - * testsuite/std/time/weekday/1.cc: Add test for overflow. - -2023-11-14 Cassio Neri <cassio.neri@gmail.com> - - * include/std/chrono (year::is_leap): Clear code. - -2023-11-14 Cassio Neri <cassio.neri@gmail.com> - - * include/std/chrono (year_month_day_last::day): Remove &1. - -2023-11-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/charconv (__from_chars_pow2_base): Convert base to - unsigned for call to __countr_zero. - (__from_chars_alnum): Likewise for call to __bit_width. - -2023-11-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112348 - * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix - type of hash functio nfor entries. - * testsuite/19_diagnostics/stacktrace/hash.cc: New test. - -2023-11-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112491 - * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix - calculation to use _M_start._M_cur. - * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. - -2023-11-13 Arsen Arsenović <arsen@aarsen.me> - - * configure: Regenerate. - -2023-11-13 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/clock/file/io.cc: Double timeout using - dg-timeout-factor. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/local/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - -2023-11-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112480 - * include/std/optional (_Optional_payload_base::_M_reset): Set - _M_engaged to false unconditionally. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112467 - * include/bits/stl_bvector.h (_M_assume_normalized): Do not use - statement form of assume attribute for Clang. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/string_view (operator==, operator<=>): Remove - redundant overloads (LWG 3950). - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here. - * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here. - Check macro first and then #undef. - * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to... - * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112473 - * include/bits/utility.h (integer_sequence): Add static_assert. - * testsuite/20_util/integer_sequence/112473.cc: New test. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective - target for specifiers using c++17_down. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (atomic_is_lock_free) - (atomic_load_explicit, atomic_load, atomic_store_explicit) - (atomic_store, atomic_exchange_explicit, atomic_exchange) - (atomic_compare_exchange_strong, atomic_compare_exchange_weak) - (atomic_compare_exchange_strong_explicit) - (atomic_compare_exchange_weak_explicit): Add deprecated - attribute for C++20 and later. - * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated - warnings. - * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. - * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. - * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]] - attribute to constructors. - * include/bits/unique_lock.h (unique_lock): Likewise. - * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise. - * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test. - * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test. - * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - * include/std/span (span, as_bytes, as_writable_bytes): Add - [[nodiscard]] attribute on all non-void functions. - * testsuite/23_containers/span/back_assert_neg.cc: Suppress - nodiscard warning. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_neg.cc: Likewise. - * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_2_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_3_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_4_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_5_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_6_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_neg.cc: Likewise. - * testsuite/23_containers/span/nodiscard.cc: New test. - -2023-11-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111638 - * config.h.in: Regenerate. - * configure: Regenerate. - * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo. - (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise. - (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise. - (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use - GLIBCXX_MAYBE_UNDERSCORED_FUNCS. - -2023-11-11 Nathaniel Shead <nathanieloshead@gmail.com> - - PR libstdc++/79700 - * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf) - (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl) - (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf) - (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff) - (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf) - (tanl, tanhf, tanhl): Add using-declarations in namespace std. - * testsuite/26_numerics/headers/cmath/equivalent_functions.cc: - New test. - * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: - Add checks for existence of above names. - -2023-11-09 Arsen Arsenović <arsen@aarsen.me> - - * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as - requiring hosted. - -2023-11-09 Arsen Arsenović <arsen@aarsen.me> - - * include/bits/memoryfwd.h: Remove HOSTED check around allocator - and its specializations. - -2023-11-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/112453 - * include/std/ranges (__detail::__box<_Tp>::operator*): Define - && overloads as well. - (__detail::__take_of_repeat_view): Forward __r when accessing - its _M_value member. - (__detail::__drop_of_repeat_view): Likewise. - * testsuite/std/ranges/repeat/1.cc (test07): New test. - -2023-11-09 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h (_RehashStateGuard): New. - (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)): - Adapt. - * include/bits/hashtable.h (__rehash_guard_t): New. - (__rehash_state): Remove. - (_M_rehash): Remove. - (_M_rehash_aux): Rename into _M_rehash. - (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt. - (rehash): Adapt. - -2023-11-09 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h - (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New. - (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node - pointer while constructing in place the value_type instance. - -2023-11-09 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/110807 - * include/bits/stl_bvector.h (_Bit_iterator_base): Add - _M_assume_normalized member function. Call it in _M_bump_up, - _M_bump_down, _M_incr, operator==, operator<=>, operator<, and - operator-. - (_Bit_iterator): Also call it in operator*. - (_Bit_const_iterator): Likewise. - -2023-11-07 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h - (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor - on construct exception. - -2023-11-07 Richard Biener <rguenther@suse.de> - - PR libstdc++/112351 - * src/c++98/locale.cc (locale::facet::_S_initialize_once): - Check whether _S_c_locale is already initialized. - (locale::facet::_S_get_c_locale): Always perform non-threadsafe - init when threadsafe init failed. - -2023-11-06 Ian Lance Taylor <iant@golang.org> - - PR libbacktrace/111315 - PR libbacktrace/112263 - * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when - grepping link.h for dl_iterate_phdr. - * configure: Regenerate. - -2023-11-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::and_then, expected::or_else): - Add string literals to static assertions. - * include/std/optional (optional::and_then, optional::or_else): - Likewise. - -2023-11-04 Feng Jisen <J1senn@outlook.com> - - * include/bits/utility.h (_Nth_type): Remove redundant partial - specialization. - -2023-11-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110133 - * include/std/system_error (system_error::system_error): Group - arguments so that concatenation can reuse rvalue's capacity. - * src/c++11/system_error.cc (strerror_string): New function. - [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. - (generic_error_category::message): Use strerror_string. - (system_error_category::message): Likewise. - -2023-11-04 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/appendix_contributing.xml: Replace example that - uses a BADNAME. - * doc/html/manual/source_code_style.html: Regenerate. - -2023-11-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112314 - * include/std/string_view (string_view::remove_suffix): Add - debug assertion. - * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: - New test. - * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: - New test. - -2023-11-02 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. - * configure: Regenerate. - -2023-10-30 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently - added emul TLS symbols. - -2023-10-30 François Dumont <fdumont@gcc.gnu.org> - - * src/experimental/contract.cc - [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. - Remove weak attribute. - -2023-10-29 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS - symbols. - -2023-10-29 François Dumont <fdumont@gcc.gnu.org> - - * src/experimental/contract.cc - [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol - without version namespace decoration for gcc. - -2023-10-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/112089 - * include/std/shared_mutex (shared_lock::unlock): Change errc - constant to operation_not_permitted. - * testsuite/30_threads/shared_lock/locking/112089.cc: New test. - -2023-10-26 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/io.cc: Double timeout using - dg-timeout-factor. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/format.cc: Likewise. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/month_day_last/io.cc: Likewise. - * testsuite/std/time/month_weekday/io.cc: Likewise. - * testsuite/std/time/month_weekday_last/io.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/io.cc: Likewise. - * testsuite/std/time/weekday_last/io.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/year_month_day_last/io.cc: Likewise. - * testsuite/std/time/year_month_weekday/io.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: Likewise. - -2023-10-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111936 - * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool - compile commands. - * src/libbacktrace/Makefile.in: Regenerate. - -2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com> - - * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to - freestanding. - * include/Makefile.in: Regenerate. - -2023-10-22 Iain Sandoe <iain@sandoe.co.uk> - - * configure: Regenerate. - * configure.ac: Handle Darwin rpaths. - * src/Makefile.am: Handle Darwin rpaths. - * src/Makefile.in: Regenerate. - -2023-10-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (_M_init_local_buf()): New - function. - (_M_use_local_data()): Use _M_init_local_buf. - (basic_string(), basic_string(const Alloc&)) - (basic_string(basic_string&&)) - (basic_string(basic_string&&, const Alloc&)): Use - _M_init_local_buf instead of _M_use_local_data(). - * include/bits/basic_string.tcc (swap(basic_string&)) - (_M_construct(InIter, InIter, input_iterator_tag)) - (_M_construct(InIter, InIter, forward_iterator_tag)) - (_M_construct(size_type, CharT), reserve()): Likewise. - -2023-10-21 Benjamin Brock <brock@cs.berkeley.edu> - - * include/std/ranges (zip_view, adjacent_view): Implement - workaround for LLVM-61763. - -2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com> - - * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() - -2023-10-21 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix - indentation. - -2023-10-20 Marek Polacek <polacek@redhat.com> - - PR testsuite/111883 - * include/std/charconv (from_chars): Add explicit casts. - -2023-10-19 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h - (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. - (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. - * include/bits/hashtable.h - (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. - (_M_merge_unique<>, _M_merge_multi<>): Use latter. - * testsuite/23_containers/unordered_map/modifiers/merge.cc - (test04, test05, test06): New test cases. - -2023-10-13 Jakub Jelinek <jakub@redhat.com> - - * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): - Initialize stream to va_arg(ap, FILE*) rather than 0. - * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): - Likewise. - -2023-10-13 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc, - testsuite/29_atomics/atomic_flag/clear/1.cc, - testsuite/29_atomics/atomic_flag/cons/value_init.cc, - testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, - testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, - testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, - testsuite/29_atomics/atomic_ref/generic.cc, - testsuite/29_atomics/atomic_ref/integral.cc, - testsuite/29_atomics/atomic_ref/pointer.cc: Replace - dg-require-thread-fence with dg-require-atomic-cmpxchg-word. - -2023-10-13 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): - New proc. - * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): - Ditto. - -2023-10-05 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols - for _Float{16,32,64,128,32x,64x,128x}. - -2023-10-04 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py - (StdExpAnyPrinter.__init__): Qualify call to - _string_types. - -2023-10-04 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py: Assume that - _versioned_namespace is non-None. - * python/libstdcxx/v6/xmethods.py (is_specialization_of): - Assume that _versioned_namespace is non-None. - -2023-10-04 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/xmethods.py (_versioned_namespace): - Define. - -2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com> - - PR libstdc++/108976 - * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of - surrogates in UTF-8. - (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. - (ucs4_in): Fix handling of range with odd number of bytes. - (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. - (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. - (ucs2_in): Fix handling of range with odd number of bytes. - (__codecvt_utf16_base<char16_t>::do_in): Likewise. - (__codecvt_utf16_base<char32_t>::do_in): Likewise. - (__codecvt_utf16_base<wchar_t>::do_in): Likewise. - * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add - tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>. - * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 - testing functions for char8_t, add more test cases for errors, - add testing functions for codecvt_utf16. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: - Renames, add tests for codecvt_utf16<whchar_t>. - * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): - Fix test. - * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New - test. - -2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com> - - * include/bits/basic_string.h: (basic_string(basic_string&&)): - Activate _M_local_buf when needed. - (basic_string(basic_string&&, const _Alloc&)): Likewise. - * include/bits/basic_string.tcc: (basic_string::swap): Likewise. - * include/std/variant: (__detail::__variant::__construct_n): New. - (__detail::__variant::__emplace): Use __construct_n. - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py (Printer.add_version) - (add_one_template_type_printer) - (FilteringTypePrinter.add_one_type_printer): Use Python - "not in" operator. - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): - Remove. - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py - (StdExpOptionalPrinter.__init__, lookup_node_type): - Remove unused variables. - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py: Don't import 'os'. - * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter - everywhere. Rename members to start with "_". - -2023-09-28 Tom Tromey <tromey@adacore.com> - - * testsuite/lib/gdb-test.exp (gdb-test): Enable Python - stack traces from gdb. - -2023-09-28 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define - new function. - (ArrayMethodsMatcher, DequeMethodsMatcher) - (ForwardListMethodsMatcher, ListMethodsMatcher) - (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) - (UniquePtrGetWorker, UniquePtrMethodsMatcher) - (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use - is_specialization_of instead of re.match. - -2023-09-28 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py: Break long lines. Use raw - strings for regular expressions. Add whitespace around - operators. - (is_member_of_namespace): Use isinstance to check type. - (is_specialization_of): Likewise. Adjust template_name - for versioned namespace instead of duplicating the re.match - call. - (StdExpAnyPrinter._string_types): New static method. - (StdExpAnyPrinter.to_string): Use _string_types. - -2023-09-28 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py: Format docstrings according - to PEP 257. - * python/libstdcxx/v6/xmethods.py: Likewise. - -2023-09-28 Tim Song <t.canens.cpp@gmail.com> - - PR libstdc++/111050 - * include/bits/hashtable_policy.h - (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) - Add [[__gnu__::__always_inline__]]. - -2023-09-27 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): - Fix incorrect number of replacement fields. - -2023-09-26 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add - dg-require-thread-fence. - -2023-09-25 Patrick Palka <ppalka@redhat.com> - - * include/std/charconv (__detail::__integer_to_chars_result_type): - Remove. - (__detail::__to_chars_16): Use to_chars_result as return type. - (__detail::__to_chars_10): Likewise. - (__detail::__to_chars_8): Likewise. - (__detail::__to_chars_2): Likewise. - (__detail::__to_chars_i): Likewise. - (__detail::__integer_from_chars_result_type): Inline the - constraint into ... - (from_chars): ... here. Use __is_standard_integer in the - constraint. Encode constraint as a defaulted non-type template - parameter instead of within the return type. - -2023-09-25 John David Anglin <danglin@gcc.gnu.org> - - * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. - -2023-09-25 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111511 - PR c++/111512 - * include/std/array (to_array): Cast memcpy arguments to void*. - * testsuite/23_containers/array/creation/111512.cc: New test. - -2023-09-25 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/move.h (forward_list): Define for C++23. - * include/bits/version.def (forward_like): Define. - * include/bits/version.h: Regenerate. - * include/std/utility (__glibcxx_want_forward_like): Define. - * testsuite/20_util/forward_like/1.cc: New test. - * testsuite/20_util/forward_like/2_neg.cc: New test. - * testsuite/20_util/forward_like/version.cc: New test. - -2023-09-19 Marek Polacek <polacek@redhat.com> - - * testsuite/20_util/allocator/105975.cc: Add dg-error. - -2023-09-18 Patrick Palka <ppalka@redhat.com> - - PR c++/63198 - PR c++/18474 - * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: - Make data member seed_seq::called mutable. - * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc: - Likewise. - * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc: - Likewise. - -2023-09-18 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status. - * doc/html/manual/status.html: Regenerate. - -2023-09-18 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/configure.xml: Use conventional option name. - * doc/xml/manual/status_cxx2020.xml: Update. - * doc/xml/manual/status_cxx2023.xml: Update. - * doc/html/*: Regenerate. - -2023-09-18 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/intro.xml: Clarify that building libstdc++ - separately from GCC is not supported. - * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for - testing. - * doc/html/manual/setup.html: Regenerate. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not - restrict to pthreads targets. - * testsuite/30_threads/jthread/3.cc: Likewise. - * testsuite/30_threads/semaphore/100806.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. - * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/coroutines/95917.cc: Remove dg-options - -std=gnu++2a. - * testsuite/18_support/coroutines/hash.cc: Likewise. - * testsuite/18_support/coroutines/lwg3460.cc: Likewise. - * testsuite/18_support/destroying_delete.cc: Likewise. - * testsuite/18_support/source_location/1.cc: Likewise. - * testsuite/18_support/source_location/consteval.cc: Likewise. - * testsuite/18_support/source_location/version.cc: Likewise. - * testsuite/19_diagnostics/error_category/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/error_code/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/error_condition/operators/three_way.cc: - Likewise. - * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. - * testsuite/26_numerics/adjacent_difference/lwg2055.cc: - Likewise. - * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: - Likewise. - * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: - Likewise. - * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: - Likewise. - * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise. - * testsuite/experimental/filesystem/iterators/106201.cc: - Likewise. - * testsuite/experimental/scopeguard/exit.cc: Likewise. - * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/30_threads/barrier/1.cc: Remove dg-options - -std=gnu++20. - * testsuite/30_threads/barrier/2.cc: Likewise. - * testsuite/30_threads/barrier/arrive.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. - * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. - * testsuite/30_threads/barrier/completion.cc: Likewise. - * testsuite/30_threads/condition_variable/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/1.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/2.cc: - Likewise. - * testsuite/30_threads/future/members/clock_neg.cc: Likewise. - * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise. - * testsuite/30_threads/headers/thread/types_std_c++20.cc: - Likewise. - * testsuite/30_threads/jthread/1.cc: Likewise. - * testsuite/30_threads/jthread/100612.cc: Likewise. - * testsuite/30_threads/jthread/95989.cc: Likewise. - * testsuite/30_threads/jthread/jthread.cc: Likewise. - * testsuite/30_threads/jthread/version.cc: Likewise. - * testsuite/30_threads/latch/1.cc: Likewise. - * testsuite/30_threads/latch/2.cc: Likewise. - * testsuite/30_threads/latch/3.cc: Likewise. - * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/semaphore/1.cc: Likewise. - * testsuite/30_threads/semaphore/2.cc: Likewise. - * testsuite/30_threads/semaphore/least_max_value_neg.cc: - Likewise. - * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. - * testsuite/30_threads/shared_future/members/clock_neg.cc: - Likewise. - * testsuite/30_threads/shared_lock/locking/clock_neg.cc: - Likewise. - * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/stop_token/1.cc: Likewise. - * testsuite/30_threads/stop_token/2.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback.cc: Likewise. - * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/invoke.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_source.cc: Likewise. - * testsuite/30_threads/stop_token/stop_source/assign.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_token.cc: Likewise. - * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: - Likewise. - * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. - * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: - Likewise. - * testsuite/30_threads/unique_lock/locking/clock_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: - Remove dg-options -std=gnu++2a. - * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: - Likewise. - * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise. - * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: - Likewise. - * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: - Likewise. - * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise. - * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. - * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise. - * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise. - * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/cons/char/97719.cc: - Likewise. - * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise. - * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: - Likewise. - * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_syncbuf/1.cc: Likewise. - * testsuite/27_io/basic_syncbuf/2.cc: Likewise. - * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise. - * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise. - * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/2.cc: Likewise. - * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise. - * testsuite/27_io/basic_syncstream/requirements/types.cc: - Likewise. - * testsuite/27_io/filesystem/iterators/106201.cc: Likewise. - * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise. - * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: - Likewise. - * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/accumulate/constexpr.cc: Remove - dg-options -std=gnu++2a. - * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise. - * testsuite/26_numerics/adjacent_difference/constexpr.cc: - Likewise. - * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. - * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. - * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: - Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. - * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. - * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. - * testsuite/26_numerics/bit/header-2.cc: Likewise. - * testsuite/26_numerics/bit/header.cc: Likewise. - * testsuite/26_numerics/complex/1.cc: Likewise. - * testsuite/26_numerics/complex/2.cc: Likewise. - * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/operators/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/requirements/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/complex/value_operations/more_constexpr.cc: - Likewise. - * testsuite/26_numerics/endian/1.cc: Likewise. - * testsuite/26_numerics/endian/2.cc: Likewise. - * testsuite/26_numerics/endian/3.cc: Likewise. - * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise. - * testsuite/26_numerics/inner_product/constexpr.cc: Likewise. - * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise. - * testsuite/26_numerics/iota/constexpr.cc: Likewise. - * testsuite/26_numerics/lerp/1.cc: Likewise. - * testsuite/26_numerics/lerp/constexpr.cc: Likewise. - * testsuite/26_numerics/lerp/version.cc: Likewise. - * testsuite/26_numerics/midpoint/floating.cc: Likewise. - * testsuite/26_numerics/midpoint/integral.cc: Likewise. - * testsuite/26_numerics/midpoint/pointer.cc: Likewise. - * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise. - * testsuite/26_numerics/midpoint/version.cc: Likewise. - * testsuite/26_numerics/numbers/1.cc: Likewise. - * testsuite/26_numerics/numbers/2.cc: Likewise. - * testsuite/26_numerics/numbers/3.cc: Likewise. - * testsuite/26_numerics/numbers/float128.cc: Likewise. - * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise. - * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. - * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise. - * testsuite/26_numerics/random/concept.cc: Likewise. - * testsuite/26_numerics/reduce/constexpr.cc: Likewise. - * testsuite/26_numerics/slice/compare.cc: Likewise. - * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: - Likewise. - * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: - Likewise. - * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/24_iterators/aliases.cc: Remove dg-options - -std=gnu++2a. - * testsuite/24_iterators/associated_types/incrementable.traits.cc: - Likewise. - * testsuite/24_iterators/associated_types/iterator.traits.cc: - Likewise. - * testsuite/24_iterators/associated_types/readable.traits.cc: - Likewise. - * testsuite/24_iterators/back_insert_iterator/constexpr.cc: - Likewise. - * testsuite/24_iterators/back_insert_iterator/pr93884.cc: - Likewise. - * testsuite/24_iterators/bidirectional/concept.cc: Likewise. - * testsuite/24_iterators/common_iterator/1.cc: Likewise. - * testsuite/24_iterators/common_iterator/100823.cc: Likewise. - * testsuite/24_iterators/common_iterator/2.cc: Likewise. - * testsuite/24_iterators/contiguous/concept.cc: Likewise. - * testsuite/24_iterators/contiguous/tag.cc: Likewise. - * testsuite/24_iterators/counted_iterator/1.cc: Likewise. - * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise. - * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise. - * testsuite/24_iterators/customization_points/92894.cc: - Likewise. - * testsuite/24_iterators/customization_points/iter_move.cc: - Likewise. - * testsuite/24_iterators/customization_points/iter_swap.cc: - Likewise. - * testsuite/24_iterators/customization_points/lwg3420.cc: - Likewise. - * testsuite/24_iterators/forward/concept.cc: Likewise. - * testsuite/24_iterators/front_insert_iterator/constexpr.cc: - Likewise. - * testsuite/24_iterators/front_insert_iterator/pr93884.cc: - Likewise. - * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: - Likewise. - * testsuite/24_iterators/indirect_callable/92894.cc: Likewise. - * testsuite/24_iterators/indirect_callable/projected-adl.cc: - Likewise. - * testsuite/24_iterators/indirect_callable/projected.cc: - Likewise. - * testsuite/24_iterators/input/concept.cc: Likewise. - * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. - * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: - Likewise. - * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise. - * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: - Likewise. - * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: - Likewise. - * testsuite/24_iterators/move_iterator/cust.cc: Likewise. - * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise. - * testsuite/24_iterators/move_iterator/input_iterator.cc: - Likewise. - * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. - * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise. - * testsuite/24_iterators/move_iterator/move_only.cc: Likewise. - * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise. - * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: - Likewise. - * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise. - * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise. - * testsuite/24_iterators/output/concept.cc: Likewise. - * testsuite/24_iterators/random_access/concept.cc: Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20.cc: - Likewise. - * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: - Likewise. - * testsuite/24_iterators/range_operations/100768.cc: Likewise. - * testsuite/24_iterators/range_operations/advance.cc: Likewise. - * testsuite/24_iterators/range_operations/advance_overflow.cc: - Likewise. - * testsuite/24_iterators/range_operations/distance.cc: Likewise. - * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise. - * testsuite/24_iterators/range_operations/next.cc: Likewise. - * testsuite/24_iterators/range_operations/prev.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise. - * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/array/comparison_operators/96851.cc: - Remove dg-options -std=gnu++2a. - * testsuite/23_containers/array/comparison_operators/constexpr.cc: - Likewise. - * testsuite/23_containers/array/creation/1.cc: Likewise. - * testsuite/23_containers/array/creation/110167.cc: Likewise. - * testsuite/23_containers/array/creation/2.cc: Likewise. - * testsuite/23_containers/array/creation/3_neg.cc: Likewise. - * testsuite/23_containers/array/requirements/constexpr_fill.cc: - Likewise. - * testsuite/23_containers/array/requirements/constexpr_swap.cc: - Likewise. - * testsuite/23_containers/deque/48101-3_neg.cc: Likewise. - * testsuite/23_containers/deque/erasure.cc: Likewise. - * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/deque/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise. - * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise. - * testsuite/23_containers/forward_list/erasure.cc: Likewise. - * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc: - Likewise. - * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc: - Likewise. - * testsuite/23_containers/list/48101-3_neg.cc: Likewise. - * testsuite/23_containers/list/cmp_c++20.cc: Likewise. - * testsuite/23_containers/list/erasure.cc: Likewise. - * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/list/operations/remove_cxx20_return.cc: - Likewise. - * testsuite/23_containers/list/operations/unique_cxx20_return.cc: - Likewise. - * testsuite/23_containers/map/48101-3_neg.cc: Likewise. - * testsuite/23_containers/map/erasure.cc: Likewise. - * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/map/operations/contains.cc: Likewise. - * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise. - * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise. - * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multimap/operations/contains.cc: - Likewise. - * testsuite/23_containers/multimap/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise. - * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/multiset/operations/contains.cc: - Likewise. - * testsuite/23_containers/multiset/operators/cmp_c++20.cc: - Likewise. - * testsuite/23_containers/priority_queue/92878_92947.cc: - Likewise. - * testsuite/23_containers/queue/92878_92947.cc: Likewise. - * testsuite/23_containers/queue/cmp_c++20.cc: Likewise. - * testsuite/23_containers/set/48101-3_neg.cc: Likewise. - * testsuite/23_containers/set/erasure.cc: Likewise. - * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/set/operations/contains.cc: Likewise. - * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise. - * testsuite/23_containers/span/1.cc: Likewise. - * testsuite/23_containers/span/101411.cc: Likewise. - * testsuite/23_containers/span/2.cc: Likewise. - * testsuite/23_containers/span/deduction.cc: Likewise. - * testsuite/23_containers/span/explicit.cc: Likewise. - * testsuite/23_containers/span/layout_compat.cc: Likewise. - * testsuite/23_containers/span/lwg3255.cc: Likewise. - * testsuite/23_containers/span/nothrow_cons.cc: Likewise. - * testsuite/23_containers/span/trivially_copyable.cc: Likewise. - * testsuite/23_containers/stack/92878_92947.cc: Likewise. - * testsuite/23_containers/stack/cmp_c++20.cc: Likewise. - * testsuite/23_containers/unordered_map/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_map/erasure.cc: Likewise. - * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_map/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_map/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/contains.cc: - Likewise. - * testsuite/23_containers/unordered_set/48101-3_neg.cc: - Likewise. - * testsuite/23_containers/unordered_set/erasure.cc: Likewise. - * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/contains.cc: - Likewise. - * testsuite/23_containers/vector/48101-3_neg.cc: Likewise. - * testsuite/23_containers/vector/bool/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/bool/cons/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/iterator_c++20.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/capacity/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. - * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. - * testsuite/23_containers/vector/data_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/element_access/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/erasure.cc: Likewise. - * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: - Likewise. - * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/23_containers/vector/requirements/version.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove - dg-options -std=gnu++20. - * testsuite/21_strings/basic_string/cons/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/erasure.cc: Likewise. - * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: - Likewise. - * testsuite/21_strings/basic_string/literals/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/cons/char/range.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: - Likewise. - * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: - Likewise. - * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/allocator/105975.cc: Remove dg-options - -std=gnu++2a. - * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. - * testsuite/20_util/allocator/requirements/constexpr.cc: - Likewise. - * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: - Likewise. - * testsuite/20_util/allocator_traits/header-2.cc: Likewise. - * testsuite/20_util/allocator_traits/header.cc: Likewise. - * testsuite/20_util/allocator_traits/members/92878_92947.cc: - Likewise. - * testsuite/20_util/any/assign/92878_92947.cc: Likewise. - * testsuite/20_util/any/cons/92878_92947.cc: Likewise. - * testsuite/20_util/assume_aligned/1.cc: Likewise. - * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. - * testsuite/20_util/assume_aligned/3.cc: Likewise. - * testsuite/20_util/assume_aligned/97132.cc: Likewise. - * testsuite/20_util/bind/constexpr.cc: Likewise. - * testsuite/20_util/bitset/operations/96303.cc: Likewise. - * testsuite/20_util/common_reference/100894.cc: Likewise. - * testsuite/20_util/common_reference/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/common_reference/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/duration/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/exchange/constexpr.cc: Likewise. - * testsuite/20_util/exchange/noexcept.cc: Likewise. - * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. - * testsuite/20_util/from_chars/compare.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/107784.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/111327.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. - * testsuite/20_util/function_objects/bind_front/97101.cc: - Likewise. - * testsuite/20_util/function_objects/bind_front/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/constexpr_searcher.cc: - Likewise. - * testsuite/20_util/function_objects/identity/1.cc: Likewise. - * testsuite/20_util/function_objects/invoke/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/mem_fn/constexpr.cc: - Likewise. - * testsuite/20_util/function_objects/not_fn/constexpr.cc: - Likewise. - * testsuite/20_util/integer_comparisons/1.cc: Likewise. - * testsuite/20_util/integer_comparisons/2.cc: Likewise. - * testsuite/20_util/integer_comparisons/equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. - * testsuite/20_util/integer_comparisons/greater.cc: Likewise. - * testsuite/20_util/integer_comparisons/greater_equal.cc: - Likewise. - * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/greater_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. - * testsuite/20_util/integer_comparisons/in_range_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/less.cc: Likewise. - * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/less_equal_neg.cc: - Likewise. - * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. - * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. - * testsuite/20_util/integer_comparisons/not_equal_neg.cc: - Likewise. - * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_bounded_array/value.cc: Likewise. - * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. - * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. - * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. - * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: - Likewise. - * testsuite/20_util/is_layout_compatible/value.cc: Likewise. - * testsuite/20_util/is_layout_compatible/version.cc: Likewise. - * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. - * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. - * testsuite/20_util/is_pointer_interconvertible/value.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/version.cc: - Likewise. - * testsuite/20_util/is_pointer_interconvertible/with_class.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/is_unbounded_array/value.cc: Likewise. - * testsuite/20_util/optional/assignment/92878_92947.cc: - Likewise. - * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. - * testsuite/20_util/optional/constexpr/assign.cc: Likewise. - * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. - * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. - * testsuite/20_util/optional/constexpr/swap.cc: Likewise. - * testsuite/20_util/optional/relops/96269.cc: Likewise. - * testsuite/20_util/optional/relops/three_way.cc: Likewise. - * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. - * testsuite/20_util/pair/constexpr_assign.cc: Likewise. - * testsuite/20_util/pair/constexpr_swap.cc: Likewise. - * testsuite/20_util/pair/requirements/structural.cc: Likewise. - * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/allocate_object.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: - Likewise. - * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. - * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. - * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. - * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/remove_cvref/value.cc: Likewise. - * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: - Likewise. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Likewise. - * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. - * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: - Likewise. - * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. - * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. - * testsuite/20_util/time_point/4.cc: Likewise. - * testsuite/20_util/time_point/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/to_address/1.cc: Likewise. - * testsuite/20_util/to_address/1_neg.cc: Likewise. - * testsuite/20_util/to_address/debug.cc: Likewise. - * testsuite/20_util/to_address/lwg3545.cc: Likewise. - * testsuite/20_util/to_chars/compare.cc: Likewise. - * testsuite/20_util/tuple/comparison_operators/three_way.cc: - Likewise. - * testsuite/20_util/tuple/cons/102270.cc: Likewise. - * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: - Likewise. - * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. - * testsuite/20_util/type_identity/requirements/alias_decl.cc: - Likewise. - * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/type_identity/requirements/typedefs.cc: - Likewise. - * testsuite/20_util/typeindex/comparison_operators_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/92878_92947.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: - Likewise. - * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. - * testsuite/20_util/unwrap_reference/1.cc: Likewise. - * testsuite/20_util/unwrap_reference/2.cc: Likewise. - * testsuite/20_util/unwrap_reference/3.cc: Likewise. - * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. - * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. - * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. - * testsuite/20_util/uses_allocator/uninitialized_construct.cc: - Likewise. - * testsuite/20_util/variant/92878_92947.cc: Likewise. - * testsuite/20_util/variant/95915.cc: Likewise. - * testsuite/20_util/variant/constexpr.cc: Likewise. - * testsuite/20_util/variant/relops/three_way.cc: Likewise. - * testsuite/20_util/variant/visit_neg.cc: Likewise. - * testsuite/20_util/variant/visit_r.cc: Likewise. - * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/comparisons/algorithms/fallback.cc: - Remove dg-options -std=gnu++2a. - * testsuite/18_support/comparisons/algorithms/partial_order.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/strong_order.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: - Likewise. - * testsuite/18_support/comparisons/algorithms/weak_order.cc: - Likewise. - * testsuite/18_support/comparisons/categories/94565.cc: - Likewise. - * testsuite/18_support/comparisons/categories/partialord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/strongord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/weakord.cc: - Likewise. - * testsuite/18_support/comparisons/categories/zero_neg.cc: - Likewise. - * testsuite/18_support/comparisons/common/1.cc: Likewise. - * testsuite/18_support/comparisons/object/93479.cc: Likewise. - * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: - Remove dg-options -std=gnu++2a. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. - * testsuite/29_atomics/atomic/requirements/types_neg.cc: - Likewise. - * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. - * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. - * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. - * testsuite/29_atomics/atomic_float/1.cc: Likewise. - * testsuite/29_atomics/atomic_float/95282.cc: Likewise. - * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. - * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_integral/cons/value_init.cc: - Likewise. - * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - Likewise. - * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise. - * testsuite/29_atomics/atomic_ref/float.cc: Likewise. - * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. - * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. - * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. - * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: - Likewise. - * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New - macro. - * config.h.in: Regenerate. - * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new - basic_filebuf members. - * config/io/basic_file_stdio.cc (__basic_file::native_handle): - Define new function. - * config/io/basic_file_stdio.h (__basic_file::native_handle): - Declare new function. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES. - * include/bits/version.def (fstream_native_handles): New macro. - * include/bits/version.h: Regenerate. - * include/std/fstream (basic_filebuf::native_handle) - (basic_fstream::native_handle, basic_ifstream::native_handle) - (basic_ofstream::native_handle): New functions. - * src/c++11/Makefile.am: Move compilation of basic_file.cc, - locale_init.cc and localename.cc to here. - * src/c++11/Makefile.in: Regenerate. - * src/c++98/locale_init.cc: Moved to... - * src/c++11/locale_init.cc: ...here. - * src/c++98/localename.cc: Moved to... - * src/c++11/localename.cc: ...here. - * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc - and localename.cc from here. - * src/c++98/Makefile.in: Regenerate. - * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test. - * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test. - * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test. - * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test. - * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/libstdc++-dg/conformance.exp: Add log line when - using testsuite_files. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg - directives. - * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: - Likewise. - * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/cons_single.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/is_equal.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/options.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release.cc: - Likewise. - * testsuite/20_util/synchronized_pool_resource/release_single.cc: - Likewise. - * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: - Likewise. - * testsuite/30_threads/stop_token/stop_callback/destroy.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/span/back_assert_neg.cc: Remove - dg-options and add effective target selector to dg-do. Add - no_pch. - * testsuite/23_containers/span/back_neg.cc: Likewise. - * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise. - * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_assert_neg.cc: Likewise. - * testsuite/23_containers/span/first_neg.cc: Likewise. - * testsuite/23_containers/span/front_assert_neg.cc: Likewise. - * testsuite/23_containers/span/front_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. - * testsuite/23_containers/span/index_op_neg.cc: Likewise. - * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_assert_neg.cc: Likewise. - * testsuite/23_containers/span/last_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_2_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_3_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_4_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_5_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_6_assert_neg.cc: - Likewise. - * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. - * testsuite/23_containers/span/subspan_neg.cc: Likewise. - * testsuite/24_iterators/range_operations/advance_debug_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove - dg-options. - * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise. - * testsuite/18_support/type_info/constexpr.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/current.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. - * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise. - * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise. - * testsuite/20_util/bitset/access/constexpr.cc: Likewise. - * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. - * testsuite/20_util/bitset/count/constexpr.cc: Likewise. - * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. - * testsuite/20_util/bitset/operations/constexpr_c++23.cc: - Likewise. - * testsuite/20_util/bitset/version.cc: Likewise. - * testsuite/20_util/from_chars/8.cc: Likewise. - * testsuite/20_util/from_chars/constexpr.cc: Likewise. - * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. - * testsuite/20_util/function_objects/invoke/4.cc: Likewise. - * testsuite/20_util/function_objects/invoke/dangling_ref.cc: - Likewise. - * testsuite/20_util/is_scoped_enum/value.cc: Likewise. - * testsuite/20_util/is_scoped_enum/version.cc: Likewise. - * testsuite/20_util/move_only_function/call.cc: Likewise. - * testsuite/20_util/move_only_function/cons.cc: Likewise. - * testsuite/20_util/move_only_function/move.cc: Likewise. - * testsuite/20_util/move_only_function/version.cc: Likewise. - * testsuite/20_util/optional/monadic/and_then.cc: Likewise. - * testsuite/20_util/optional/monadic/or_else.cc: Likewise. - * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise. - * testsuite/20_util/optional/monadic/pr109242.cc: Likewise. - * testsuite/20_util/optional/monadic/transform.cc: Likewise. - * testsuite/20_util/pair/p2321r2.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value.cc: Likewise. - * testsuite/20_util/reference_from_temporary/value2.cc: - Likewise. - * testsuite/20_util/reference_from_temporary/version.cc: - Likewise. - * testsuite/20_util/to_chars/constexpr.cc: Likewise. - * testsuite/20_util/to_chars/float128_c++23.cc: Likewise. - * testsuite/20_util/to_chars/float16_c++23.cc: Likewise. - * testsuite/20_util/to_chars/version.cc: Likewise. - * testsuite/20_util/to_underlying/1.cc: Likewise. - * testsuite/20_util/to_underlying/version.cc: Likewise. - * testsuite/20_util/tuple/p2321r2.cc: Likewise. - * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/comparison/constexpr.cc: - Likewise. - * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: - Likewise. - * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise. - * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise. - * testsuite/20_util/unreachable/1.cc: Likewise. - * testsuite/20_util/unreachable/version.cc: Likewise. - * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. - * testsuite/21_strings/basic_string/operations/contains/char.cc: - Likewise. - * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise. - * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise. - * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise. - * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise. - * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. - * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. - * testsuite/23_containers/vector/bool/element_access/1.cc: - Likewise. - * testsuite/24_iterators/const_iterator/1.cc: Likewise. - * testsuite/25_algorithms/contains/1.cc: Likewise. - * testsuite/25_algorithms/contains_subrange/1.cc: Likewise. - * testsuite/25_algorithms/find_last/1.cc: Likewise. - * testsuite/25_algorithms/find_last_if/1.cc: Likewise. - * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise. - * testsuite/25_algorithms/fold_left/1.cc: Likewise. - * testsuite/25_algorithms/fold_right/1.cc: Likewise. - * testsuite/25_algorithms/iota/1.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. - * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. - * testsuite/26_numerics/complex/ext_c++23.cc: Likewise. - * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise. - * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: - Likewise. - * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: - Likewise. - * testsuite/26_numerics/numbers/4.cc: Likewise. - * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise. - * testsuite/27_io/filesystem/path/native/conv_c++23.cc: - Likewise. - * testsuite/27_io/spanstream/1.cc: Likewise. - * testsuite/27_io/spanstream/2.cc: Likewise. - * testsuite/27_io/spanstream/version.cc: Likewise. - * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. - * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: - Likewise. - * testsuite/experimental/filesystem/path/native/conv_c++23.cc: - Likewise. - * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: - Likewise. - * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/range_adaptor_closure.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/ranges/zip_transform/1.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/expected/assign.cc: Remove dg-options. - * testsuite/20_util/expected/bad.cc: Likewise. - * testsuite/20_util/expected/cons.cc: Likewise. - * testsuite/20_util/expected/equality.cc: Likewise. - * testsuite/20_util/expected/illformed_neg.cc: Likewise. - * testsuite/20_util/expected/lwg3877.cc: Likewise. - * testsuite/20_util/expected/lwg3938.cc: Likewise. - * testsuite/20_util/expected/monadic.cc: Likewise. - * testsuite/20_util/expected/observers.cc: Likewise. - * testsuite/20_util/expected/requirements.cc: Likewise. - * testsuite/20_util/expected/swap.cc: Likewise. - * testsuite/20_util/expected/synopsis.cc: Likewise. - * testsuite/20_util/expected/unexpected.cc: Likewise. - * testsuite/20_util/expected/version.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: - Remove dg-options. - * testsuite/20_util/duration/io.cc: Likewise. - * testsuite/std/time/clock/file/io.cc: Likewise. - * testsuite/std/time/clock/file/members.cc: Likewise. - * testsuite/std/time/clock/file/overview.cc: Likewise. - * testsuite/std/time/clock/gps/1.cc: Likewise. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/local/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/1.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/1.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. - * testsuite/std/time/day/1.cc: Likewise. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/exceptions.cc: Likewise. - * testsuite/std/time/format.cc: Likewise. - * testsuite/std/time/hh_mm_ss/1.cc: Likewise. - * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - * testsuite/std/time/is_am/1.cc: Likewise. - * testsuite/std/time/is_pm/1.cc: Likewise. - * testsuite/std/time/make12/1.cc: Likewise. - * testsuite/std/time/make24/1.cc: Likewise. - * testsuite/std/time/month/1.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/1.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/month_day_last/1.cc: Likewise. - * testsuite/std/time/month_day_last/io.cc: Likewise. - * testsuite/std/time/month_weekday/1.cc: Likewise. - * testsuite/std/time/month_weekday/io.cc: Likewise. - * testsuite/std/time/month_weekday_last/1.cc: Likewise. - * testsuite/std/time/month_weekday_last/io.cc: Likewise. - * testsuite/std/time/parse.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Likewise. - * testsuite/std/time/time_zone/get_info_local.cc: Likewise. - * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. - * testsuite/std/time/time_zone/requirements.cc: Likewise. - * testsuite/std/time/traits/is_clock.cc: Likewise. - * testsuite/std/time/tzdb/1.cc: Likewise. - * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. - * testsuite/std/time/tzdb_list/1.cc: Likewise. - * testsuite/std/time/tzdb_list/requirements.cc: Likewise. - * testsuite/std/time/weekday/1.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/io.cc: Likewise. - * testsuite/std/time/weekday_last/1.cc: Likewise. - * testsuite/std/time/weekday_last/io.cc: Likewise. - * testsuite/std/time/year/1.cc: Likewise. - * testsuite/std/time/year/2.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/weekday_indexed/1.cc: Likewise. - * testsuite/std/time/year_month/1.cc: Likewise. - * testsuite/std/time/year_month/2.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/1.cc: Likewise. - * testsuite/std/time/year_month_day/2.cc: Likewise. - * testsuite/std/time/year_month_day/3.cc: Likewise. - * testsuite/std/time/year_month_day/4.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/year_month_day_last/1.cc: Likewise. - * testsuite/std/time/year_month_day_last/2.cc: Likewise. - * testsuite/std/time/year_month_day_last/io.cc: Likewise. - * testsuite/std/time/year_month_weekday/1.cc: Likewise. - * testsuite/std/time/year_month_weekday/2.cc: Likewise. - * testsuite/std/time/year_month_weekday/3.cc: Likewise. - * testsuite/std/time/year_month_weekday/io.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. - * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. - * testsuite/std/time/zoned_time/1.cc: Likewise. - * testsuite/std/time/zoned_time/custom.cc: Likewise. - * testsuite/std/time/zoned_time/deduction.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: Likewise. - * testsuite/std/time/zoned_time/req_neg.cc: Likewise. - * testsuite/std/time/zoned_time/requirements.cc: Likewise. - * testsuite/std/time/zoned_traits.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/format/arguments/args.cc: Remove dg-options. - * testsuite/std/format/arguments/lwg3810.cc: Likewise. - * testsuite/std/format/error.cc: Likewise. - * testsuite/std/format/format_string.cc: Likewise. - * testsuite/std/format/formatter/concept.cc: Likewise. - * testsuite/std/format/formatter/ext_float.cc: Likewise. - * testsuite/std/format/formatter/requirements.cc: Likewise. - * testsuite/std/format/functions/107871.cc: Likewise. - * testsuite/std/format/functions/format.cc: Likewise. - * testsuite/std/format/functions/format_to.cc: Likewise. - * testsuite/std/format/functions/format_to_n.cc: Likewise. - * testsuite/std/format/functions/size.cc: Likewise. - * testsuite/std/format/functions/vformat_to.cc: Likewise. - * testsuite/std/format/parse_ctx.cc: Likewise. - * testsuite/std/format/string.cc: Likewise. - * testsuite/std/format/string_neg.cc: Likewise. - * testsuite/std/format/functions/format_c++23.cc: Removed. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/function_objects/range.cmp/equal_to.cc: - Remove dg-options. - * testsuite/20_util/function_objects/range.cmp/greater.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/less.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/less_equal.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: - Likewise. - * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/1.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: - Likewise. - * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. - * testsuite/25_algorithms/adjacent_find/constrained.cc: - Likewise. - * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/all_of/constrained.cc: Likewise. - * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/any_of/constrained.cc: Likewise. - * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. - * testsuite/25_algorithms/binary_search/constrained.cc: - Likewise. - * testsuite/25_algorithms/clamp/constrained.cc: Likewise. - * testsuite/25_algorithms/constexpr_macro.cc: Likewise. - * testsuite/25_algorithms/copy/95578.cc: Likewise. - * testsuite/25_algorithms/copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy/constrained.cc: Likewise. - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. - * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_backward/constrained.cc: - Likewise. - * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. - * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. - * testsuite/25_algorithms/count/constexpr.cc: Likewise. - * testsuite/25_algorithms/count/constrained.cc: Likewise. - * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/count_if/constrained.cc: Likewise. - * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. - * testsuite/25_algorithms/equal/95578.cc: Likewise. - * testsuite/25_algorithms/equal/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. - * testsuite/25_algorithms/equal/constrained.cc: Likewise. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: - Likewise. - * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. - * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. - * testsuite/25_algorithms/fill/94017.cc: Likewise. - * testsuite/25_algorithms/fill/constexpr.cc: Likewise. - * testsuite/25_algorithms/fill/constrained.cc: Likewise. - * testsuite/25_algorithms/fill_n/94017.cc: Likewise. - * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. - * testsuite/25_algorithms/find/constexpr.cc: Likewise. - * testsuite/25_algorithms/find/constrained.cc: Likewise. - * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_end/constrained.cc: Likewise. - * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_first_of/constrained.cc: - Likewise. - * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_if/constrained.cc: Likewise. - * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. - * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. - * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. - * testsuite/25_algorithms/for_each/constrained.cc: Likewise. - * testsuite/25_algorithms/generate/constexpr.cc: Likewise. - * testsuite/25_algorithms/generate/constrained.cc: Likewise. - * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. - * testsuite/25_algorithms/heap/constrained.cc: Likewise. - * testsuite/25_algorithms/includes/constrained.cc: Likewise. - * testsuite/25_algorithms/inplace_merge/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_partitioned/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. - * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. - * testsuite/25_algorithms/is_sorted_until/constexpr.cc: - Likewise. - * testsuite/25_algorithms/is_sorted_until/constrained.cc: - Likewise. - * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. - * testsuite/25_algorithms/lexicographical_compare/93972.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/95578.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare/constrained.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: - Likewise. - * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. - * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/max/constrained.cc: Likewise. - * testsuite/25_algorithms/max_element/constrained.cc: Likewise. - * testsuite/25_algorithms/merge/constexpr.cc: Likewise. - * testsuite/25_algorithms/merge/constrained.cc: Likewise. - * testsuite/25_algorithms/min/constrained.cc: Likewise. - * testsuite/25_algorithms/min_element/constrained.cc: Likewise. - * testsuite/25_algorithms/minmax/constrained.cc: Likewise. - * testsuite/25_algorithms/minmax_element/constrained.cc: - Likewise. - * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. - * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. - * testsuite/25_algorithms/move/93872.cc: Likewise. - * testsuite/25_algorithms/move/95578.cc: Likewise. - * testsuite/25_algorithms/move/constexpr.cc: Likewise. - * testsuite/25_algorithms/move/constrained.cc: Likewise. - * testsuite/25_algorithms/move_backward/93872.cc: Likewise. - * testsuite/25_algorithms/move_backward/95578.cc: Likewise. - * testsuite/25_algorithms/move_backward/constrained.cc: - Likewise. - * testsuite/25_algorithms/next_permutation/constexpr.cc: - Likewise. - * testsuite/25_algorithms/next_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. - * testsuite/25_algorithms/none_of/constrained.cc: Likewise. - * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. - * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. - * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. - * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: - Likewise. - * testsuite/25_algorithms/partial_sort_copy/constrained.cc: - Likewise. - * testsuite/25_algorithms/partition/constexpr.cc: Likewise. - * testsuite/25_algorithms/partition/constrained.cc: Likewise. - * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/partition_copy/constrained.cc: - Likewise. - * testsuite/25_algorithms/partition_point/constexpr.cc: - Likewise. - * testsuite/25_algorithms/partition_point/constrained.cc: - Likewise. - * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/prev_permutation/constexpr.cc: - Likewise. - * testsuite/25_algorithms/prev_permutation/constrained.cc: - Likewise. - * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove/constrained.cc: Likewise. - * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_copy_if/constrained.cc: - Likewise. - * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. - * testsuite/25_algorithms/replace/constrained.cc: Likewise. - * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/replace_copy_if/constexpr.cc: - Likewise. - * testsuite/25_algorithms/replace_copy_if/constrained.cc: - Likewise. - * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. - * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. - * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse/constrained.cc: Likewise. - * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. - * testsuite/25_algorithms/rotate/constrained.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/sample/constrained.cc: Likewise. - * testsuite/25_algorithms/search/constexpr.cc: Likewise. - * testsuite/25_algorithms/search/constrained.cc: Likewise. - * testsuite/25_algorithms/search_n/97828.cc: Likewise. - * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. - * testsuite/25_algorithms/search_n/constrained.cc: Likewise. - * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_difference/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_intersection/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: - Likewise. - * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: - Likewise. - * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. - * testsuite/25_algorithms/set_union/constrained.cc: Likewise. - * testsuite/25_algorithms/shift_left/1.cc: Likewise. - * testsuite/25_algorithms/shift_right/1.cc: Likewise. - * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. - * testsuite/25_algorithms/sort/constexpr.cc: Likewise. - * testsuite/25_algorithms/sort/constrained.cc: Likewise. - * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. - * testsuite/25_algorithms/stable_partition/constrained.cc: - Likewise. - * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. - * testsuite/25_algorithms/swap/constexpr.cc: Likewise. - * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. - * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. - * testsuite/25_algorithms/transform/constexpr.cc: Likewise. - * testsuite/25_algorithms/transform/constrained.cc: Likewise. - * testsuite/25_algorithms/unique/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique/constrained.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. - * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. - * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: - Likewise. - * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/concepts/1.cc: Remove dg-options. - * testsuite/std/concepts/2.cc: Likewise. - * testsuite/std/concepts/concepts.callable/invocable.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/regular_invocable.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/relation.cc: - Likewise. - * testsuite/std/concepts/concepts.callable/strictweakorder.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.common/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.derived/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.same/1.cc: - Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise. - * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise. - * testsuite/std/concepts/concepts.object/copyable.cc: Likewise. - * testsuite/std/concepts/concepts.object/movable.cc: Likewise. - * testsuite/std/concepts/concepts.object/regular.cc: Likewise. - * testsuite/std/concepts/concepts.object/semiregular.cc: - Likewise. - * testsuite/std/ranges/97600.cc: Likewise. - * testsuite/std/ranges/access/101782.cc: Likewise. - * testsuite/std/ranges/access/begin.cc: Likewise. - * testsuite/std/ranges/access/begin_neg.cc: Likewise. - * testsuite/std/ranges/access/cbegin.cc: Likewise. - * testsuite/std/ranges/access/cdata.cc: Likewise. - * testsuite/std/ranges/access/cend.cc: Likewise. - * testsuite/std/ranges/access/crbegin.cc: Likewise. - * testsuite/std/ranges/access/crend.cc: Likewise. - * testsuite/std/ranges/access/data.cc: Likewise. - * testsuite/std/ranges/access/empty.cc: Likewise. - * testsuite/std/ranges/access/end.cc: Likewise. - * testsuite/std/ranges/access/end_neg.cc: Likewise. - * testsuite/std/ranges/access/lwg3467.cc: Likewise. - * testsuite/std/ranges/access/p2602.cc: Likewise. - * testsuite/std/ranges/access/rbegin.cc: Likewise. - * testsuite/std/ranges/access/rend.cc: Likewise. - * testsuite/std/ranges/access/size.cc: Likewise. - * testsuite/std/ranges/access/size_neg.cc: Likewise. - * testsuite/std/ranges/access/ssize.cc: Likewise. - * testsuite/std/ranges/adaptors/100479.cc: Likewise. - * testsuite/std/ranges/adaptors/100577.cc: Likewise. - * testsuite/std/ranges/adaptors/93978.cc: Likewise. - * testsuite/std/ranges/adaptors/95322.cc: Likewise. - * testsuite/std/ranges/adaptors/99433.cc: Likewise. - * testsuite/std/ranges/adaptors/all.cc: Likewise. - * testsuite/std/ranges/adaptors/common.cc: Likewise. - * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: - Likewise. - * testsuite/std/ranges/adaptors/counted.cc: Likewise. - * testsuite/std/ranges/adaptors/detail/copyable_box.cc: - Likewise. - * testsuite/std/ranges/adaptors/drop.cc: Likewise. - * testsuite/std/ranges/adaptors/drop_while.cc: Likewise. - * testsuite/std/ranges/adaptors/elements.cc: Likewise. - * testsuite/std/ranges/adaptors/filter.cc: Likewise. - * testsuite/std/ranges/adaptors/join.cc: Likewise. - * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. - * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise. - * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise. - * testsuite/std/ranges/adaptors/p1739.cc: Likewise. - * testsuite/std/ranges/adaptors/p2281.cc: Likewise. - * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise. - * testsuite/std/ranges/adaptors/reverse.cc: Likewise. - * testsuite/std/ranges/adaptors/sizeof.cc: Likewise. - * testsuite/std/ranges/adaptors/split.cc: Likewise. - * testsuite/std/ranges/adaptors/take.cc: Likewise. - * testsuite/std/ranges/adaptors/take_while.cc: Likewise. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - * testsuite/std/ranges/empty_view.cc: Likewise. - * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. - * testsuite/std/ranges/iota/difference_type.cc: Likewise. - * testsuite/std/ranges/iota/iota_view.cc: Likewise. - * testsuite/std/ranges/iota/iterator.cc: Likewise. - * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. - * testsuite/std/ranges/iota/max_size_type.cc: Likewise. - * testsuite/std/ranges/istream_view.cc: Likewise. - * testsuite/std/ranges/p2259.cc: Likewise. - * testsuite/std/ranges/p2325.cc: Likewise. - * testsuite/std/ranges/p2367.cc: Likewise. - * testsuite/std/ranges/range.cc: Likewise. - * testsuite/std/ranges/refinements.cc: Likewise. - * testsuite/std/ranges/safe_range.cc: Likewise. - * testsuite/std/ranges/safe_range_types.cc: Likewise. - * testsuite/std/ranges/single_view.cc: Likewise. - * testsuite/std/ranges/sized.cc: Likewise. - * testsuite/std/ranges/subrange/1.cc: Likewise. - * testsuite/std/ranges/subrange/97512.cc: Likewise. - * testsuite/std/ranges/subrange/constexpr.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3286.cc: Likewise. - * testsuite/std/ranges/subrange/lwg3433.cc: Likewise. - * testsuite/std/ranges/subrange/sizeof.cc: Likewise. - * testsuite/std/ranges/subrange/tuple_like.cc: Likewise. - * testsuite/std/ranges/view.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: - Remove dg-options. - * testsuite/23_containers/span/contiguous_range_neg.cc: - Likewise. - * testsuite/23_containers/span/everything.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/24_iterators/reverse_iterator/100639.cc: Remove - dg-options and add dg-add-options strict_std. - * testsuite/std/ranges/iota/93267.cc: Likewise. - * testsuite/std/ranges/iota/96042.cc: Likewise. - * testsuite/std/ranges/iota/size.cc: Likewise. - * testsuite/std/ranges/subrange/96042.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc: - Replace dg-options -std=c++17 with dg-add-options strict_std. - * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc: - Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/deque/48101-2_neg.cc: Replace - dg-options with target selector. - * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise. - * testsuite/23_containers/list/48101-2_neg.cc: Likewise. - * testsuite/23_containers/map/48101-2_neg.cc: Likewise. - * testsuite/23_containers/map/48101_neg.cc: Likewise. - * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise. - * testsuite/23_containers/multimap/48101_neg.cc: Likewise. - * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise. - * testsuite/23_containers/set/48101-2_neg.cc: Likewise. - * testsuite/23_containers/unordered_map/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/unordered_set/48101-2_neg.cc: - Likewise. - * testsuite/23_containers/vector/48101-2_neg.cc: Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/test.xml: Update documentation on running and - writing tests. - * doc/html/manual/test.html: Regenerate. - * testsuite/Makefile.am: Add v3-use-std-list to site.tmp - * testsuite/Makefile.in: Regenerate. - * testsuite/lib/dg-options.exp (add_options_for_strict_std): New - proc. - * testsuite/lib/libstdc++.exp (search_for): New utility proc. - (v3-dg-runtest): New proc to replace dg-runtest. - * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: - Fix test to work for C++23 and C++26 too. - -2023-09-15 Patrick Palka <ppalka@redhat.com> - - * include/std/bit: Include <concepts>. - (byteswap): Use a type-constraint instead of enable_if_t - inside the return type, and use std::integral. - (_If_is_unsigned_integer): Replace with ... - (__unsigned_integer): ... this. - (rotl): Use a type-constraint instead of enable_if_t inside - the return type. - (countl_zero): Likewise. - (countl_one): Likewise. - (countr_zero): Likewise. - (countr_one): Likewise. - (popcount): Likewise. - (has_single_bit): Likewise. - (bit_ceil): Likewise. - (bit_floor): Likewise. - (bit_width): Likewise. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (variant): Remove derivation from - _Enable_default_constructor base class. - (variant::variant()): Constrain. - * testsuite/20_util/variant/default_ctor.cc: New test. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111172 - * include/std/variant (get<T>): Remove !is_void static - assertions. - -2023-09-15 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (to_chars): Define new value for - C++26. - * include/bits/version.h: Regenerate. - * include/std/charconv (to_chars_result::operator bool): New - function. - (from_chars_result::operator bool): New function. - * testsuite/20_util/to_chars/version.cc: Update expected value. - * testsuite/20_util/from_chars/result.cc: New test. - * testsuite/20_util/to_chars/result.cc: New test. - -2023-09-14 Jonathan Wakely <jwakely@redhat.com> - - PR c++/111357 - * testsuite/20_util/integer_sequence/pr111357.cc: New test. - -2023-09-14 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use - dg-additional-files. Remove @require@ and @diff@ comments. - * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. - * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. - * testsuite/lib/dg-options.exp (v3_additional_files): New - global variable. - (dg-additional-files): New proc. - * testsuite/lib/libstdc++.exp (v3_target_compile): Copy - additional files to test directory. - -2023-09-14 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]: - Use a plain integer for _M_work_count for single-threaded - targets. - * include/experimental/memory_resource (__get_default_resource) - [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for - single-threaded targets. - * src/c++17/default_resource.h: Adjust preprocessor conditions - to match memory_resource.cc. - * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] - (atomic_mem_res): Use unsynchronized type for single-threaded - targets. - -2023-09-14 Christophe Lyon <christophe.lyon@linaro.org> - - * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. - * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. - * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. - * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. - * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. - -2023-09-14 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add - { dg-require-normal-namespace "" }. - -2023-09-13 François Dumont <fdumont@gcc.gnu.org> - - * include/std/format (std::__format::_Arg_store): Explicit version - namespace on make_format_args friend declaration. - -2023-09-12 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/111327 - * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define - a deleted fallback operator() overload. Constrain both the - enabled and deleted overloads accordingly. - * testsuite/20_util/function_objects/not_fn/111327.cc: New test. - -2023-09-12 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/111327 - * include/std/functional (_Bind_front::operator()): Add deleted - fallback overloads for each const/ref qualifier pair. Give the - enabled overloads dummy constraints to make each one more - specialized than the corresponding deleted overload. - * testsuite/20_util/function_objects/bind_front/111327.cc: New test. - -2023-09-12 Patrick Palka <ppalka@redhat.com> - - * include/std/functional (_Bind_front0): Remove. - (_Bind_front_t): Adjust. - -2023-09-12 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py: Reformat. - * python/libstdcxx/v6/xmethods.py: Likewise. - -2023-09-11 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New - function. - (reset_sequence_ptr): New function. - (_Safe_iterator_base::_M_detach) - (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load - with acquire_sequence_ptr_for_lock. - (_Safe_iterator_base::_M_reset): Replace bare atomic_store with - reset_sequence_ptr. - -2023-09-11 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/Makefile.am: Add new file. - * src/c++11/Makefile.in: Regenerate. - * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... - * src/c++11/assert_fail.cc: New file. - -2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef. - (_GLIBCXX_USE_BUILTIN_TRAIT): Define. - -2023-09-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (__cpp_lib_formatters): Define. - * include/bits/version.h: Regenerate. - * include/std/stacktrace (formatter<stacktrace_entry>) - (formatter<basic_stacktrace<Alloc>>): Define. - * include/std/thread (formatter<thread::id, charT>): Define. - * testsuite/19_diagnostics/stacktrace/output.cc: New test. - * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add - std::formatter specializations. - * testsuite/19_diagnostics/stacktrace/version.cc: Check - __cpp_lib_formatters macro. - * testsuite/30_threads/thread/id/hash.cc: Remove gthreads - dependency. - * testsuite/30_threads/thread/id/operators.cc: Likewise. - * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. - * testsuite/30_threads/thread/id/output.cc: New test. - -2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi> - - * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. - * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. - * src/filesystem/path.cc (path::_S_convert_loc): Likewise. - -2023-09-08 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory. - * configure: Regenerate. - * doc/html/manual/*: Regenerate. - * doc/xml/manual/using.xml: Update documentation on linking. - * include/std/stacktrace: Remove declarations of libbacktrace - APIs. - (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init): - Remove. - (stacktrace_entry::_Info): New class. - (stacktrace_entry::_M_get_info): Use _Info. - (__stacktrace_impl): New class. - (basic_stacktrace): Derive from __stacktrace_impl. - (basic_stacktrace::current): Use __stacktrace_impl::_S_current. - * scripts/testsuite_flags.in: Adjust LDFLAGS to find - libstdc++exp instead of libstdc++_libbacktrace. - * src/Makefile.am (SUBDIRS): Add c++23 directory. - * src/Makefile.in: Regenerate. - * src/c++20/Makefile.am: Fix comment. - * src/c++20/Makefile.in: Regenerate. - * src/c++23/Makefile.am: New file. - * src/c++23/Makefile.in: New file. - * src/c++23/stacktrace.cc: New file with definitions of - stacktrace_entry::_Info and __stacktrace_impl members. - * src/experimental/Makefile.am: Use LIBADD to include other - libraries. - * src/experimental/Makefile.in: Regenerate. - * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES. - * src/libbacktrace/Makefile.in: Regenerate. - * testsuite/19_diagnostics/stacktrace/current.cc: Adjust - dg-options to use -lstdc++exp. - * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. - * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. - * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: - Likewise. - -2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com> - - * src/libbacktrace/Makefile.am: Remove -Werror. - * src/libbacktrace/Makefile.in: Regenerate. - -2023-09-08 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe. - * testsuite/Makefile.in: Regenerate. - -2023-09-08 Yang Yujie <yangyujie@loongson.cn> - - * configure.host: Register t-loongarch in tmake_file. - * config/cpu/loongarch/t-loongarch: New file. Manually refresh - MULTISUBDIR with $(shell $(CXX) --print-multi-directory). - -2023-09-07 Bruno Victal <mirai@makinata.eu> - - * acinclude.m4: Update docbook xsl URI. - * configure: Regenerate. - -2023-09-07 Bruno Victal <mirai@makinata.eu> - - * doc/Makefile.am: Fix 'doc-install-info' rule. - Fix typo in commment. - * doc/Makefile.in: Regenerate. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify - dg-do target selector. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/config/default.exp: Remove trailing whitespace. - * testsuite/lib/dg-options.exp: Likewise. - * testsuite/lib/prune.exp: Likewise. - * testsuite/libstdc++-abi/abi.exp: Likewise. - * testsuite/libstdc++-dg/conformance.exp: Likewise. - * testsuite/libstdc++-prettyprinters/prettyprinters.exp: - Likewise. - * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. - * testsuite/lib/libstdc++.exp: Likewise. - (check_v3_target_c_std): Fix filename for temporary source file. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, - chmod, chdir, and getcwd. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. - (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. - (fs::permissions): Use USE_CHMOD macro. - * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] - (chmod, mkdir, getcwd, chdir): Define new macros. - [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use - new macros. - * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. - (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. - (fs::permissions): Use USE_CHMOD macro. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default - for avr. - * configure: Regenerate. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/unordered_map/operations/1.cc: Add - dg-options for C++20 mode. - * testsuite/23_containers/unordered_multimap/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_multiset/operations/1.cc: - Likewise. - * testsuite/23_containers/unordered_set/operations/1.cc: - Likewise. - * testsuite/std/time/parse.cc: Move dg-options before dg-do. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23 - compatibility. - * testsuite/std/ranges/access/cdata.cc: Likewise. - * testsuite/std/ranges/access/cend.cc: Likewise. - * testsuite/std/ranges/access/crbegin.cc: Likewise. - * testsuite/std/ranges/access/crend.cc: Likewise. - * testsuite/std/ranges/adaptors/take.cc: Likewise. - * testsuite/std/ranges/adaptors/take_while.cc: Likewise. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/iterator_concepts.h (__imove::iter_move): Define - poison pill as deleted for consistency. - (__access::begin): Replace with a single declaration. - * include/bits/ranges_base.h (__access::end, __access::rbegin) - (__access::rend, __access::size): Likewise. - * include/bits/version.def (ranges): Update value for C++23. - * include/bits/version.h: Regenerate. - * libsupc++/compare (__compare): Add missing poison pill - overloads. - * testsuite/std/ranges/version_c++23.cc: Adjust expected value - of __cpp_lib_ranges. - * testsuite/std/ranges/access/p2602.cc: New test. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/iterator_concepts.h (ranges::__cust_imove): - Rename to ranges::__imove. - (_IMove): Rename to _IterMove. - (ranges::__cust_iswap): Rename to ranges::__iswap. - (ranges::__cust): Rename to ranges::_Cpo. - (ranges::__cust_access): Rename to ranges::__access. - * include/bits/ranges_base.h (ranges::__cust_access): Rename to - ranges::__access. - (ranges::__cust): Rename to ranges::_Cpo. - * include/std/concepts (ranges::__cust_swap): Rename to - ranges::__swap. - (ranges::__cust): Rename to ranges::_Cpo. - * libsupc++/compare (__cmp_cust): Rename to __compare. - (__cmp_algo): Rename to _Cpo. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (ranges): Update value. - * include/bits/version.h: Regenerate. - * include/std/ranges (__detail::__boxable): Use - move_constructible instead of copy_constructible for C++23. - (__detail::__box<T>): Adjust constraints for partial - specialization. - (single_view, transform_view): Use __box_constructible instead - of copy_constructible in constraints. - (zip_transform_view, adjacent_transform_view, repeat_view): Use - move_constructible instead of copy_constructible in constraints. - * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check - construction from move-only argument. - * testsuite/std/ranges/adaptors/transform.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/single_view.cc: Likewise. - * testsuite/std/ranges/zip_transform/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: Adjust expected value - of __cpp_lib_ranges. - -2023-09-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_iterators.h (is_customization_point_object): - Remove parameter name. - -2023-09-06 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default - for freestanding. - * configure: Regenerate. - -2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> - - Revert - 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> - - PR libstdc++/111238 - * configure: Regenerate. - * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, - non-Canadian builds. - -2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> - - PR libstdc++/111238 - * configure: Regenerate. - * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, - non-Canadian builds. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/complex/literals/types.cc: Remove - dg-options and add target selector instead. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options - and qualify ambiguous calls to get. - * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust - expected result for std::pow(float, int) as per DR 550. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03 - and add dg-warning for deprecation warnings. - * testsuite/20_util/auto_ptr/2.cc: Likewise. - * testsuite/20_util/auto_ptr/3.cc: Likewise. - * testsuite/20_util/auto_ptr/3946.cc: Likewise. - * testsuite/20_util/auto_ptr/4.cc: Likewise. - * testsuite/20_util/auto_ptr/5.cc: Likewise. - * testsuite/20_util/auto_ptr/6.cc: Likewise. - * testsuite/20_util/auto_ptr/7.cc: Likewise. - * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise. - * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: - Likewise. - * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: - Likewise. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/26142 - * testsuite/23_containers/vector/26412-1.cc: Moved to... - * testsuite/23_containers/vector/26142-1.cc: ...here. - * testsuite/23_containers/vector/26412-2.cc: Moved to... - * testsuite/23_containers/vector/26142-2.cc: ...here. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/bitset/107037.cc: Add c++98_only selector. - * testsuite/26_numerics/complex/56111.cc: Likewise. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc: - Add dg-options to restrict the test to C++98 mode. - * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc: - Likewise. - -2023-09-04 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/expected/bad.cc: Add missing target - selector. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust - expected errors. - * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: - Likewise. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/iterators/91067.cc: Add - -Wno-self-move to options. - * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. - -2023-09-01 Vladimir Palevich <palevichva@gmail.com> - - PR libstdc++/110879 - * include/bits/vector.tcc (_M_realloc_insert): End guard - lifetime just before assignment to class members. - (_M_default_append): Likewise. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]: - Use __resize_and_overwrite to fill buffer. - (fs::read_symlink) [HAVE_READLINK]: Likewise. - * src/filesystem/ops-common.h (get_temp_directory_from_env) - [FILESYSTEM_IS_WINDOWS]: Likewise. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111077 - * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): - Add _AtomicRef non-type template parameter and use a loop if it - is true. - (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP. - (__atomic_impl::compare_exchange_strong): Likewise. - (atomic_ref::compare_exchange_weak): Use true for NTTP. - (atomic_ref::compare_exchange_strong): Use true for NTTP. - * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: - Fix test to not rely on atomic_ref::load() to return an object - with padding preserved. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for - filesystem support. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros - for POSIX readlink before using filesystem::read_symlink. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes. - * configure: Regenerate. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (_Parser::operator()): Set failbit - early if invalid values are read when _M_need & _TimeOfDay is - non-zero. - * testsuite/std/time/parse.cc: Check that "25:59" cannot be - parsed for "%H:%M". - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/111162 - * include/bits/chrono_io.h (_Parser::Operator()): Check %C - values are in range of year::min() to year::max(). - * testsuite/std/time/parse.cc: Check out of range centuries. - -2023-09-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Sink::_M_reset): Change second - argument from iterator to offset. - -2023-08-24 Paul Dreik <gccpatches@pauldreik.se> - - PR libstdc++/111102 - * testsuite/std/format/string.cc: Check wide character format - strings with out-of-range widths. - -2023-08-24 Paul Dreik <gccpatches@pauldreik.se> - - PR libstdc++/111102 - * include/std/format (__format::__parse_integer): Check for - non-null pointer. - -2023-08-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/format/functions/format_to.cc: Avoid warning for - unused variables. - -2023-08-24 Jonathan Wakely <jwakely@redhat.com> - - * include/std/atomic: Add comment to #ifdef and fix indentation. - * include/std/ostream: Check __glibcxx_syncbuf instead of - __cplusplus and _GLIBCXX_HOSTED. - * include/std/thread: Add comment to #ifdef. - -2023-08-24 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (__cpp_lib_ratio): Define. - * include/bits/version.h: Regenerate. - * include/std/ratio (quecto, ronto, yocto, zepto) - (zetta, yotta, ronna, quetta): Define. - * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust - dg-error line numbers. - -2023-08-24 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdLocalePrinter): New - printer class. - * testsuite/libstdc++-prettyprinters/locale.cc: New test. - -2023-08-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110944 - * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do - not show template arguments. - (StdVariantPrinter): Likewise. - * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected - output. - * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2023-08-23 François Dumont <fdumont@gcc.gnu.org> - - * testsuite/util/replacement_memory_operators.h - (counter::scope): New, capture and reset counter count at construction and - restore it at destruction. - (counter::check_new): Add scope instantiation. - * testsuite/23_containers/unordered_map/96088.cc (main): - Add counter::scope instantiation. - * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise. - * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise. - * testsuite/23_containers/unordered_set/96088.cc (main): Likewise. - * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise. - * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global. - (operator new(size_t)): Check started. - (main): Set/Unset started. - * testsuite/17_intro/no_library_allocation.cc: New test case. - -2023-08-21 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: - Call std::set_terminate before throwing the nested exception. - -2023-08-18 Jonathan Wakely <jwakely@redhat.com> - - PR target/111060 - * include/std/format (formatter): Only define specializations - for 16-bit floating-point types for C++23. - * include/std/limits (numeric_limits): Likewise. - -2023-08-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (operator<<): Make uses of wide - strings with streams and std::format type-dependent on _CharT. - * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use - __to_wstring_numeric. - -2023-08-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (operator<<): Use __format_context. - * include/std/format (__format::__format_context): New alias - template. - [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg): - Disable. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - Revert: - 2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * config/locale/generic/c_locale.cc (__convert_to_v): Reuse - double overload for long double if possible. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to - std::string_view. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * config/locale/generic/c_locale.cc (__convert_to_v): Reuse - double overload for long double if possible. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * src/c++98/localename.cc (is_C_locale): New function. - (locale::locale(const char*)): Use is_C_locale. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110945 - * include/bits/basic_string.h (basic_string::assign(Iter, Iter)): - Dispatch to _M_replace or move assignment from a temporary, - based on the iterator type. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (formatter): Add partial specializations - for extended floating-point types. - * testsuite/std/format/functions/format.cc: Move test_float128() - to ... - * testsuite/std/format/formatter/ext_float.cc: New test. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define - whenever __BFLT16_DIG__ is defined, not only for C++23. - * include/std/limits (numeric_limits<bfloat16_t>): Likewise. - (numeric_limits<_Float16>, numeric_limits<_Float32>) - (numeric_limits<_Float64>): Likewise for other extended - floating-point types. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (address_v4::to_string): Remove - unused parameter name. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. - * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune - excess errors caused by invalid consteval calls. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__units_suffix_misc): Remove. - (__units_suffix): Return a known suffix as string view, do not - write unknown suffixes to a buffer. - (__fmt_units_suffix): New function that formats the suffix using - std::format_to. - (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. - (__chrono_formatter::_M_Z): Correct lifetime of wstring. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide - string formatters with this macro. - (__formatter_int::_M_format_int, __formatter_fp::format) - (formatter<const void*, C>::format): Use __to_wstring_numeric - instead of std::ctype::widen. - (__formatter_fp::_M_localize): Use hardcoded wchar_t values - instead of std::ctype::widen. - * testsuite/std/format/functions/format.cc: Add more checks for - wstring formatting of arithmetic types. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (to_string(floating-point-type)): - Implement using std::to_chars for C++26. - * include/bits/version.def (__cpp_lib_to_string): Define. - * include/bits/version.h: Regenerate. - * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: - Adjust expected result in C++26 mode. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: - New test. - * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc: - New test. - * testsuite/21_strings/basic_string/numeric_conversions/version.cc: - New test. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (to_string(integral-type)): Use - resize_and_overwrite when available. - (__to_wstring_numeric): New helper functions. - (to_wstring): Use std::to_string then __to_wstring_numeric. - * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc: - Remove check for no excess capacity. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.h (__resize_and_overwrite): New - function. - * include/bits/basic_string.tcc (__resize_and_overwrite): New - function. - (resize_and_overwrite): Simplify by using reserve instead of - growing the string manually. Adjust for C++11 compatibility. - * include/bits/cow_string.h (resize_and_overwrite): New - function. - (__resize_and_overwrite): New function. - * include/bits/version.def (__cpp_lib_string_resize_and_overwrite): - Do not depend on cxx11abi. - * include/bits/version.h: Regenerate. - * include/std/format (__formatter_fp::_S_resize_and_overwrite): - Remove. - (__formatter_fp::format, __formatter_fp::_M_localize): Use - __resize_and_overwrite instead of _S_resize_and_overwrite. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Adjust for C++11 compatibility when included by ... - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc: - New test. - -2023-08-17 Patrick Palka <ppalka@redhat.com> - - * include/bits/regex.h (regex_iterator::iterator_concept): - Define for C++20 as per P2770R0. - (regex_token_iterator::iterator_concept): Likewise. - * include/std/ranges (__detail::__as_lvalue): Define. - (join_view::_Iterator): Befriend join_view. - (join_view::_Iterator::_M_satisfy): Use _M_get_outer - instead of _M_outer. - (join_view::_Iterator::_M_get_outer): Define. - (join_view::_Iterator::_Iterator): Split constructor taking - _Parent argument into two as per P2770R0. Remove constraint on - default constructor. - (join_view::_Iterator::_M_outer): Make this data member present - only when the underlying range is forward. - (join_view::_Iterator::operator++): Use _M_get_outer instead of - _M_outer. - (join_view::_Iterator::operator--): Use __as_lvalue helper. - (join_view::_Iterator::operator==): Adjust constraints as per - P2770R0. - (join_view::_Sentinel::__equal): Use _M_get_outer instead of - _M_outer. - (join_view::_M_outer): New data member when the underlying range - is non-forward. - (join_view::begin): Adjust definition as per P2770R0. - (join_view::end): Likewise. - (join_with_view::_M_outer_it): New data member when the - underlying range is non-forward. - (join_with_view::begin): Adjust definition as per P2770R0. - (join_with_view::end): Likewise. - (join_with_view::_Iterator::_M_outer_it): Make this data member - present only when the underlying range is forward. - (join_with_view::_Iterator::_M_get_outer): Define. - (join_with_view::_Iterator::_Iterator): Split constructor - taking _Parent argument into two as per P2770R0. Remove - constraint on default constructor. - (join_with_view::_Iterator::_M_update_inner): Adjust definition - as per P2770R0. - (join_with_view::_Iterator::_M_get_inner): Likewise. - (join_with_view::_Iterator::_M_satisfy): Adjust calls to - _M_get_inner. Use _M_get_outer instead of _M_outer_it. - (join_with_view::_Iterator::operator==): Adjust constraints - as per P2770R0. - (join_with_view::_Sentinel::operator==): Use _M_get_outer - instead of _M_outer_it. - * testsuite/std/ranges/adaptors/p2770r0.cc: New test. - -2023-08-17 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108827 - * include/std/ranges (__adaptor::_RangeAdaptorClosure): - Convert into a CRTP class template. Move hidden operator| - friends into namespace scope and adjust their constraints. - (__closure::__is_range_adaptor_closure_fn): Define. - (__closure::__is_range_adaptor_closure): Define. - (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure. - (__adaptor::_Pipe): Likewise. - (views::_All): Likewise. - (views::_Join): Likewise. - (views::_Common): Likewise. - (views::_Reverse): Likewise. - (views::_Elements): Likewise. - (views::_Adjacent): Likewise. - (views::_AsRvalue): Likewise. - (views::_Enumerate): Likewise. - (views::_AsConst): Likewise. - * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion - expecting that adding empty range adaptor closure objects to a - pipeline doesn't increase the size of a pipeline. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Pres_type): Add _Pres_F. - (__formatter_fp::parse): Use _Pres_F for 'F'. - (__formatter_fp::format): Set __upper for _Pres_F. - * testsuite/std/format/functions/format.cc: Check formatting of - infinity and NaN for each presentation type. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.in: Regenerate. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. - * testsuite/std/format/functions/format.cc: Likewise. - * testsuite/std/format/functions/format_c++23.cc: Likewise. - -2023-08-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove - any "-include bits/stdc++.h" from options and add the macro to - the existing options instead of replacing them. - -2023-08-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.tcc (resize_and_overwrite): Invoke - the callable with the same size as resize_and_overwrite was - called with. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Check with small values for the new size. - * testsuite/std/format/functions/format.cc: Check wide - formatting of double values that produce small strings. - * testsuite/std/format/functions/format_c++23.cc: New test. - -2023-08-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/version.def (stds): Update value for C++23. - * include/bits/version.h: Regenerate. - -2023-08-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: - Fix name of upstream file this was derived from. - * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise. - -2023-08-16 Arsen Arsenović <arsen@aarsen.me> - - * libsupc++/typeinfo: Switch to bits/version.h for - __cpp_lib_constexpr_typeinfo. - * libsupc++/new: Switch to bits/version.h for - __cpp_lib_{launder,hardware_interference_size,destroying_delete}. - (launder): Guard behind __cpp_lib_launder. - (hardware_destructive_interference_size) - (hardware_constructive_interference_size): Guard behind - __cpp_lib_hardware_interference_size. - * libsupc++/exception: Switch to bits/version.h for - __cpp_lib_uncaught_exceptions. - (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions. - * libsupc++/compare: Switch to bits/version.h for - __cpp_lib_three_way_comparison. - (three_way_comparable, three_way_comparable_with) - (compare_three_way, weak_order, strong_order, partial_order): - Guard behind __cpp_lib_three_way_comparison >= 201907L. - * include/std/chrono: Drop __cpp_lib_chrono definition. - * include/std/vector: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/variant: Switch to bits/version.h for - __cpp_lib_variant. Guard whole header behind that FTM. - * include/std/utility: Switch to bits/version.h for - __cpp_lib_{exchange_function,constexpr_algorithms,as_const}, - __cpp_lib_{integer_comparison_functions,to_underlying}, and - __cpp_lib_unreachable. - (exchange): Guard behind __cpp_lib_exchange_function. - (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal) - (cmp_greater_equal, in_range): Guard behind - __cpp_lib_integer_comparison_functions. - (to_underlying): Guard behind __cpp_lib_to_underlying. - (unreachable): Guard behind __cpp_lib_unreachable. - * include/std/type_traits: Switch to bits/version.h for - __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate}, - __cpp_lib_is_{constant_evaluated,invocable,layout_compatible}, - __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable}, - __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref}, - __cpp_lib_{result_of_sfinae,transformation_trait_aliases}, - __cpp_lib_{type_identity,type_trait_variable_templates}, - __cpp_lib_{unwrap_ref,void_t,integral_constant_callable}, - __cpp_lib_{bool_constant,bounded_array_traits}, and - __cpp_lib_has_unique_object_representations. - (integral_constant::operator()): Guard behind - __cpp_lib_integral_constant_callable. - (bool_constant): Guard behind __cpp_lib_bool_constant. - (conjunction, disjunction, negation, conjunction_v, disjunction_v) - (negation_v): Guard behind __cpp_lib_logical_traits. - (is_null_pointer): Guard behind __cpp_lib_is_null_pointer. - (is_final): Guard behind __cpp_lib_is_final. - (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind - __cpp_lib_is_nothrow_convertible. - (remove_const_t, remove_volatile_t, remove_cv_t) - (add_const_t, add_volatile_t, add_cv_t): Guard behind - __cpp_lib_transformation_trait_aliases. - (void_t): Guard behind __cpp_lib_void_t. - (is_swappable_with_v, is_nothrow_swappable_with_v) - (is_swappable_with, is_nothrow_swappable_with): Guard behind - __cpp_lib_is_swappable. - (is_nothrow_invocable_r, is_invocable_r, invoke_result) - (is_invocable, invoke_result_t): Guard behind - __cpp_lib_is_invocable. - (alignment_of_v, extent_v, has_virtual_destructor_v) - (is_abstract_v, is_arithmetic_v, is_array_v) - (is_assignable_v, is_base_of_v, is_class_v, is_compound_v) - (is_constructible_v, is_const_v, is_convertible_v) - (is_copy_assignable_v, is_copy_constructible_v) - (is_default_constructible_v, is_destructible_v) - (is_empty_v, is_enum_v, is_final_v, is_floating_point_v) - (is_function_v, is_fundamental_v, is_integral_v) - (is_invocable_r_v, is_invocable_v, is_literal_type_v) - (is_lvalue_reference_v, is_member_function_pointer_v) - (is_member_object_pointer_v, is_member_pointer_v) - (is_move_assignable_v, is_move_constructible_v) - (is_nothrow_assignable_v, is_nothrow_constructible_v) - (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v) - (is_nothrow_default_constructible_v, is_nothrow_destructible_v) - (is_nothrow_invocable_r_v, is_nothrow_invocable_v) - (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v) - (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v) - (is_polymorphic_v, is_reference_v, is_rvalue_reference_v) - (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v) - (is_trivially_assignable_v, is_trivially_constructible_v) - (is_trivially_copyable_v, is_trivially_copy_assignable_v) - (is_trivially_copy_constructible_v) - (is_trivially_default_constructible_v) - (is_trivially_destructible_v, is_trivially_move_assignable_v) - (is_trivially_move_constructible_v, is_trivial_v, is_union_v) - (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic): - Guard behind __cpp_lib_type_trait_variable_templates. - (has_unique_object_representations) - (has_unique_object_representations_v): Guard behind - __cpp_lib_has_unique_object_representation. - (is_aggregate): Guard behind __cpp_lib_is_aggregate. - (remove_cvref, remove_cvref_t): Guard behind - __cpp_lib_remove_cvref. - (type_identity, type_identity_t): Guard behind - __cpp_lib_type_identity. - (unwrap_reference, unwrap_reference_t, unwrap_ref_decay) - (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref. - (is_bounded_array_v, is_unbounded_array_v, is_bounded_array) - (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits. - (is_scoped_enum, is_scoped_enum_v): Guard behind - __cpp_lib_is_scoped_enum. - (reference_constructs_from_temporary) - (reference_constructs_from_temporary_v): Guard behind - __cpp_lib_reference_from_temporary. - * include/std/tuple: Switch to bits/version.h for - __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}. - (get<T>): Guard behind __cpp_lib_tuple_by_type. - (apply): Guard behind __cpp_lib_apply. - (make_from_tuple): Guard behind __cpp_lib_make_from_tuple. - * include/std/syncstream: Switch to bits/version.h for - __cpp_lib_syncbuf. Guard header behind that FTM. - * include/std/string_view: Switch to bits/version.h for - __cpp_lib_{string_{view,contains},constexpr_string_view} and - __cpp_lib_starts_ends_with. - (basic_string_view::starts_with, basic_string_view::ends_with): - Guard behind __cpp_lib_starts_ends_with. - [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]: - Assert as impossible ithout a bug in C++23. - * include/std/string: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/thread: Switch to bits/version.h for - __cpp_lib_jthread. - * include/std/stop_token: Switch to bits/version.h for - __cpp_lib_jthread. - * include/std/spanstream: Switch to bits/version.h for - __cpp_lib_spanstream. Guard header behind that FTM. - * include/std/span: Switch to bits/version.h for __cpp_lib_span. - Guard header behind that FTM. - * include/std/source_location: Switch to bits/version.h for - __cpp_lib_source_location. Guard header with that FTM. - * include/std/shared_mutex: Switch to bits/version.h for - __cpp_lib_shared{,_timed}_mutex. - (shared_mutex): Guard behind __cpp_lib_shared_mutex. - * include/std/semaphore: Switch to bits/version.h for - __cpp_lib_semaphore. Guard header behind that FTM. - * include/std/ranges: Switch to bits/version.h for - __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with}, - __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue}, - and __cpp_lib_ranges_{as_const,enumerate,iota}. - (ranges::zip et al, ranges::chunk et al, ranges::slide et al) - (ranges::chunk_by et al, ranges::join_with et al) - (ranges::stride et al, ranges::cartesian_product et al) - (ranges::as_rvalue et al, ranges::as_const et al) - (ranges::enumerate et al): Guard behind appropriate FTM. - * include/std/optional: Switch to bits/version.h for - __cpp_lib_optional. Guard header behind that FTM. - * include/std/numeric: Switch to bits/version.h for - __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate} - and __cpp_lib_parallel_algorithm. - (gcd, lcm): Guard behind __cpp_lib_gcd_lcm. - (midpoint): Guard behind __cpp_lib_interpolate. - * include/std/numbers: Switch to bits/version.h for - __cpp_lib_math_constants. Guard header behind that FTM. - * include/std/mutex: Switch to bits/version.h for - __cpp_lib_scoped_lock. - (scoped_Lock): Guard behind __cpp_lib_scoped_lock. - * include/std/memory_resource: Switch to bits/version.h for - __cpp_lib_{polymorphic_allocator,memory_resource}. - (synchronized_pool_resource): Guard behind - __cpp_lib_memory_resource >= 201603L. - (polymorphic_allocator): Guard behind - __cpp_lib_polymorphic_allocator. - * include/std/memory: Switch to bits/version.h for - __cpp_lib_{parallel_algorithm,atomic_value_initialization}. - * include/std/list: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/latch: Switch to bits/version.h for __cpp_lib_latch. - Guard header behind that FTM. - * include/std/iterator: Switch to bits/version.h for - __cpp_lib_null_iterators. - * include/std/iomanip: Switch to bits/version.h for - __cpp_lib_quoted_string_io. - (quoted): Guard behind __cpp_lib_quoted_string_io. - * include/std/functional: Switch to bits/version.h for - __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and - __cpp_lib_{not_fn,booyer_moore_searcher}. - (invoke): Guard behind __cpp_lib_invoke. - (invoke_r): Guard behind __cpp_lib_invoke_r. - (bind_front): Guard behind __cpp_lib_bind_front. - (not_fn): Guard behind __cpp_lib_not_fn. - (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard - definition behind __cpp_lib_boyer_moore_searcher. - * include/std/forward_list: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/format: Switch to bits/version.h for - __cpp_lib_format. Guard header behind that FTM. - * include/std/filesystem: Switch to bits/version.h for - __cpp_lib_filesystem. Guard header behind that FTM. - * include/std/expected: Switch to bits/version.h for - __cpp_lib_expected. Guard header behind it. - * include/std/execution: Switch to bits/version.h for - __cpp_lib_{execution,parallel_algorithm}. Guard header behind - either. - * include/std/deque: Switch to bits/version.h for - __cpp_lib_erase_if. - (erase, erase_if): Guard behind __cpp_lib_erase_if. - * include/std/coroutine: Switch to bits/version.h for - __cpp_lib_coroutine. Guard header behind that FTM. - * include/std/concepts: Switch to bits/version.h for - __cpp_lib_concepts. Guard header behind that FTM. - * include/std/complex: Switch to bits/version.h for - __cpp_lib_{complex_udls,constexpr_complex}. - (operator""if, operator""i, operator""il): Guard behind - __cpp_lib_complex_udls. - * include/std/charconv: Swtich to bits/version.h for - __cpp_lib_{to_chars,constexpr_charconv}. - * include/std/bitset: Switch to bits/version.h for - __cpp_lib_constexpr_bitset. - * include/std/bit: Switch to bits/version.h for - __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}. - (bit_cast): Guard behind __cpp_lib_bit_cast. - (byteswap): Guard behind __cpp_lib_byteswap. - (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one) - (popcount): Guard behind __cpp_lib_bitops. - (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind - __cpp_lib_int_pow2. - (endian): Guard behind __cpp_lib_endian. - * include/std/barrier: Switch to bits/version.h for - __cpp_lib_barrier. Guard header behind that FTM. - * include/std/atomic: Switch to bits/version.h for - __cpp_lib_atomic_{is_always_lock_free,float,ref} - and __cpp_lib_lock_free_type_aliases. - (*::is_always_lock_free): Guard behind - __cpp_lib_atomic_is_always_lock_free. - (atomic<float>): Guard behind __cpp_lib_atomic_float. - (atomic_ref): Guard behind __cpp_lib_atomic_ref. - (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind - __cpp_lib_atomic_lock_free_type_aliases. - * include/std/array: Switch to bits/version.h for - __cpp_lib_to_array. - (to_array): Guard behind __cpp_lib_to_array. - * include/std/any: Switch to bits/version.h for __cpp_lib_any. - Guard header behind that FTM. - * include/std/algorithm: Switch to bits/version.h for - __cpp_lib_parallel_algorithm. - * include/c_global/cstddef: Switch to bits/version.h for - __cpp_lib_byte. - (byte): Guard behind __cpp_lib_byte. - * include/c_global/cmath: Switch to bits/version.h for - __cpp_lib_{hypot,interpolate}. - (hypot3): Guard behind __cpp_lib_hypot. - (lerp): Guard behind __cpp_lib_interpolate. - * include/c_compatibility/stdatomic.h: Switch to - bits/stl_version.h for __cpp_lib_atomic. Guard header behind that - FTM. - * include/bits/utility.h: Switch to bits/version.h for - __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}. - (tuple_element_t): Guard behind __cpp_lib_tuple_element_t. - (integer_sequence et al): Guard behind __cpp_lib_integer_sequence. - * include/bits/uses_allocator_args.h: Switch to bits/version.h for - __cpp_lib_make_obj_using_allocator. Guard header behind that FTM. - * include/bits/unordered_map.h: Switch to bits/version.h for - __cpp_lib_unordered_map_try_emplace. - (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace. - * include/bits/unique_ptr.h: Switch to bits/version.h for - __cpp_lib_{constexpr_memory,make_unique}. - (make_unique): Guard behind __cpp_lib_make_unique. - * include/bits/stl_vector.h: Switch to bits/version.h for - __cpp_lib_constexpr_vector. - * include/bits/stl_uninitialized.h: Switch to bits/version.h for - __cpp_lib_raw_memory_algorithms. - (uninitialized_default_construct) - (uninitialized_default_construct_n, uninitialized_move) - (uninitialized_move_n, uninitialized_value_construct) - (uninitialized_value_construct_n): Guard behind - __cpp_lib_raw_memory_algorithms. - * include/bits/stl_tree.h: Switch to bits/version.h for - __cpp_lib_generic_associative_lookup. - * include/bits/stl_stack.h: Switch to bits/version.h for - __cpp_lib_adaptor_iterator_pair_constructor. - (stack): Guard iterator-pair constructor behind - __cpp_lib_adaptor_iterator_pair_constructor. - * include/bits/stl_queue.h: Switch to bits/version.h for - __cpp_lib_adaptor_iterator_pair_constructor. - (queue): Guard iterator-pair constructor behind - __cpp_lib_adaptor_iterator_pair_constructor. - * include/bits/stl_pair.h: Switch to bits/version.h for - __cpp_lib_{concepts,tuples_by_type}. - (get): Guard type-getting overloads behind - __cpp_lib_tuples_by_type. - * include/bits/stl_map.h: Switch to bits/version.h for - __cpp_lib_map_try_emplace. - (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace. - * include/bits/stl_list.h: Switch to bits/version.h for - __cpp_lib_list_remove_return_type. - (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG) - [C++20]: guard behind __cpp_lib_list_remove_return_type instead. - * include/bits/stl_iterator.h: Switch to bits/version.h for - __cpp_lib_{constexpr_iterator,array_constexpr} and - __cpp_lib_{make_reverse_iterator,move_iterator_concept}. - (make_reverse_iterator): Guard behind - __cpp_lib_make_reverse_iterator. - (iterator_concept et al): Guard __cpp_lib_move_iterator_concept - changes behind that FTM. - * include/bits/stl_function.h: Switch to bits/version.h for - __cpp_lib_transparent_operators. - (equal_to, not_equal_to, greater, less, greater_equal) - (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and) - (logical_or, logical_not, plus, minus, multiplies, divides) - (modulus, negate): Guard '= void' fwdecls behind - __cpp_lib_transparent_operators. - (plus<void>, minus<void>, multiplies<void>, divides<void>) - (modulus<void>, negate<void>, logical_and<void>, logical_or<void>) - (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>) - (equal_to<void>, not_equal_to<void>, greater<void>, less<void>) - (greater_equal<void>, less_equal<void>, bit_not<void>) - (__has_is_transparent): Guard behind - __cpp_lib_transparent_operators. - * include/bits/stl_algobase.h: Switch to bits/version.h for - __cpp_lib_robust_nonmodifying_seq_ops. - (robust equal, mismatch): Guard behind - __cpp_lib_nonmember_container_access. - * include/bits/stl_algo.h: Swtich to bits/version.h for - __cpp_lib_{clamp,sample}. - (clamp): Guard behind __cpp_lib_clamp. - (sample): Guard behind __cpp_lib_sample. - * include/bits/specfun.h: Switch to bits/version.h for - __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__. - * include/bits/shared_ptr_base.h: Switch to bits/version.h for - __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}. - (_Sp_overwrite_tag): Guard behind - __cpp_lib_smart_ptr_for_overwrite. - * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for - __cpp_lib_atomic_shared_ptr. - * include/bits/shared_ptr.h: Switch to bits/version.h for - __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}. - (shared_ptr<T>::weak_type): Guard behind - __cpp_lib_shared_ptr_weak_type. - (enable_shared_from_this<T>::weak_from_this): Guard behind - __cpp_lib_enable_shared_from_this. - * include/bits/ranges_cmp.h: Switch to bits/version.h for - __cpp_lib_ranges. - * include/bits/ranges_algo.h: Switch to bits/version.h for - __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}. - * include/bits/range_access.h: Switch to bits/version.h for - __cpp_lib_nonmember_container_access - (size, empty, data): Guard behind - __cpp_lib_nonmember_container_access. - (ssize): Guard behind __cpp_lib_ssize. - * include/bits/ptr_traits.h: Switch to bits/version.h. for - __cpp_lib_{constexpr_memory,to_address}. - (to_address): Guard behind __cpp_lib_to_address. - * include/bits/node_handle.h: Switch to bits/version.h for - __cpp_lib_node_extract. Guard header behind that FTM. - * include/bits/move_only_function.h: Switch to bits/version.h for - __cpp_lib_move_only_function. Guard header behind that FTM. - * include/bits/move.h: Switch to bits/version.h for - __cpp_lib_addressof_constexpr. - * include/bits/ios_base.h: Switch to bits/version.h for - __cpp_lib_ios_noreplace. - (noreplace): Guard with __cpp_lib_ios_noreplace. - * include/bits/hashtable.h: Switch to bits/version.h for - __cpp_lib_generic_unordered_lookup. - (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind - __cpp_lib_generic_unordered_lookup. - * include/bits/forward_list.h: Switch to bits/version.h for - __cpp_lib_list_remove_return_type. - (__remove_return_type): Guard behind - __cpp_lib_list_remove_return_type. - * include/bits/erase_if.h: Switch to bits/version.h for - __cpp_lib_erase_if. - * include/bits/cow_string.h: Switch to bits/version.h for - __cpp_lib_constexpr_string. - * include/bits/chrono.h: Swtich to bits/version.h for - __cpp_lib_chrono{,_udls}. - (ceil): Guard behind __cpp_lib_chrono. - (operator""ns et al): Guard behind __cpp_lib_chrono_udls. - * include/bits/char_traits.h: Switch to bits/version.h for - __cpp_lib_constexpr_char_traits. - * include/bits/basic_string.h: Switch to bits/version.h for - __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}. - (resize_and_overwrite): Guard behind - __cpp_lib_string_resize_and_overwrite. - (operator""s): Guard behind __cpp_lib_string_udls. - * include/bits/atomic_wait.h: Switch to bits/version.h for - __cpp_lib_atomic_wait. Guard header behind that FTM. - * include/bits/atomic_base.h: Switch to bits/version.h for - __cpp_lib_atomic_value_initialization and - __cpp_lib_atomic_flag_test. - (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test, - rather than C++20. - * include/bits/allocator.h: Switch to bits/version.h for - __cpp_lib_incomplete_container_elements. - * include/bits/alloc_traits.h: Switch to using bits/version.h for - __cpp_lib_constexpr_dynamic_alloc and - __cpp_lib_allocator_traits_is_always_equal. - * include/bits/align.h: Switch to bits/version.h for defining - __cpp_lib_assume_aligned. - (assume_aligned): Guard with __cpp_lib_assume_aligned. - * include/bits/algorithmfwd.h: Switch to bits/version.h for - defining __cpp_lib_constexpr_algorithms. - * include/std/stacktrace: Switch to bits/version.h for - __cpp_lib_stacktrace. Guard header behind that FTM. - * testsuite/23_containers/array/tuple_interface/get_neg.cc: - Update line numbers. - -2023-08-16 Arsen Arsenović <arsen@aarsen.me> - - * include/Makefile.am (bits_freestanding): Add version.h. - (allcreated): Add version.h. - (${bits_srcdir}/version.h): New rule. Regenerates - version.h out of version.{def,tpl}. - * include/Makefile.in: Regenerate. - * include/bits/version.def: New file. Declares a list of - all feature test macros, their values and their preconditions. - * include/bits/version.tpl: New file. Turns version.def - into a sequence of #if blocks. - * include/bits/version.h: New file. Generated from - version.def. - * include/std/version: Replace with a __glibcxx_want_all define - and bits/version.h include. - -2023-08-14 Paul Dreik <gccpatches@pauldreik.se> - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Use frexp instead - of log10. - -2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (true_type): Use __bool_constant - instead. - (false_type): Likewise. - (bool_constant): Likewise. - -2023-08-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110990 - * include/std/format (_Seq_sink::get): Only call _M_overflow if - its precondition is met. - (_Iter_sink::_M_finish): Likewise. - (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the - internal buffer after running out of space. - (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow. - (_Counting_sink::count): Likewise. - * testsuite/std/format/functions/format_to_n.cc: Check cases - where the output fits into the buffer. - -2023-08-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104167 - * include/bits/chrono_io.h (operator|=, operator|): Add noexcept - to _ChronoParts operators. - (from_stream, parse): Define new functions. - (__detail::_Parse, __detail::_Parser): New class templates. - * include/std/chrono (__cpp_lib_chrono): Define to 201907L for - C++20. - * include/std/version (__cpp_lib_chrono): Likewise. - * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: - Adjust expected value of feature test macro. - * testsuite/20_util/duration/io.cc: Test parsing. - * testsuite/std/time/clock/file/io.cc: Likewise. - * testsuite/std/time/clock/gps/io.cc: Likewise. - * testsuite/std/time/clock/system/io.cc: Likewise. - * testsuite/std/time/clock/tai/io.cc: Likewise. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/day/io.cc: Likewise. - * testsuite/std/time/month/io.cc: Likewise. - * testsuite/std/time/month_day/io.cc: Likewise. - * testsuite/std/time/weekday/io.cc: Likewise. - * testsuite/std/time/year/io.cc: Likewise. - * testsuite/std/time/year_month/io.cc: Likewise. - * testsuite/std/time/year_month_day/io.cc: Likewise. - * testsuite/std/time/syn_c++20.cc: Check value of macro and for - the existence of parse and from_stream in namespace chrono. - * testsuite/std/time/clock/local/io.cc: New test. - * testsuite/std/time/parse.cc: New test. - -2023-08-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Do not call log10 - with zero values. - -2023-08-11 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter): - Check for out-of-range month an weekday indices. - * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid - month and weekday values. - -2023-08-11 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove. - -2023-08-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110974 - * include/std/format (_Spec::_S_parse_width_or_precision): Check - for empty range before dereferencing iterator. - * testsuite/std/format/string.cc: Check for expected exception. - Fix expected exception message in test_pr110862() and actually - call it. - -2023-08-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110968 - * include/std/format (__formatter_fp::format): Check return - value of _M_localize. - * testsuite/std/format/functions/format.cc: Check classic - locale. - -2023-08-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110970 - * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use - __iter_category_t. - (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise. - (__detail::__basic_const_iterator_iter_cat): Likewise. - * include/bits/stl_iterator_base_types.h (__iterator_category_t): - Rename to __iter_category_t. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (duration_cast): Do not use braces - around statements for C++11 constexpr rules. - * include/bits/stl_algobase.h (__lg): Rewrite as a single - statement for C++11 constexpr rules. - * include/experimental/bits/fs_path.h (path::string): Use - _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. - * include/std/charconv (__to_chars_8): Initialize variable for - C++17 constexpr rules. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare - warning for loop condition. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/std/complex: Add diagnostic pragma for clang. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (atomic): Change class-head - to struct. - * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change - class-head to struct in friend declaration. - * include/std/chrono (tzdb_list::_Node): Likewise. - * include/std/future (_Task_state_base, _Task_state): Likewise. - * include/std/scoped_allocator (__inner_type_impl): Likewise. - * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) - (_ValFunClos, _RefFunClos): Change class-head to struct. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] - attribute. - * include/bits/regex_executor.tcc: Remove name of unused - parameter. - * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): - Likewise. - * include/bits/stl_uninitialized.h: Likewise. - * include/bits/streambuf_iterator.h (operator==): Likewise. - * include/bits/uses_allocator.h: Likewise. - * include/c_global/cmath (isfinite, isinf, isnan): Likewise. - * include/std/chrono (zoned_time): Likewise. - * include/std/future (__future_base::_S_allocate_result): - Likewise. - (packaged_task): Likewise. - * include/std/optional (_Optional_payload_base): Likewise. - * include/std/scoped_allocator (__inner_type_impl): Likewise. - * include/std/tuple (_Tuple_impl): Likewise. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/new_allocator.h (__new_allocator): Define copy - assignment operator as defaulted. - * include/std/complex (complex<float>, complex<double>) - (complex<long double>): Define copy constructor as defaulted. - -2023-08-09 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format: Fix some warnings. - (__format::__write(Ctx&, basic_string_view<CharT>)): Remove - unused function template. - -2023-08-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110860 - * include/std/format (__formatter_fp::format): Do not use - __builtin_abs and __builtin_log10 with arbitrary floating-point - types. - -2023-08-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110917 - * include/std/format (__format::_Iter_sink<CharT, OutIter>): - Constrain partial specialization for contiguous iterators to - require the value type to be CharT. - * testsuite/std/format/functions/format_to.cc: New test. - -2023-08-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110862 - * include/std/format (_Scanner::_M_on_replacement_field): - Check for expected '}' before incrementing iterator. - * testsuite/std/format/string.cc: Check "{0:{0}" format string. - -2023-08-07 Nick Alcock <nick.alcock@oracle.com> - - * configure: Regenerate. - -2023-08-07 Alan Modra <amodra@gmail.com> - - * configure: Regenerate. - -2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com> - - * configure: Regenerate. - -2023-08-07 Nick Alcock <nick.alcock@oracle.com> - - * configure: Regenerate. - -2023-08-07 Nick Alcock <nick.alcock@oracle.com> - - * configure: Regenerate. - -2023-08-07 H.J. Lu <hjl.tools@gmail.com> - - * configure: Regenerate. - -2023-08-07 H.J. Lu <hjl.tools@gmail.com> - - * configure: Regenerate. - -2023-08-06 François Dumont <fdumont@gcc.gnu.org> - - * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate - symbol export. - -2023-07-30 François Dumont <fdumont@gcc.gnu.org> - - * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with - proper #error. - * src/c++11/locale-inst-monetary.h: Likewise. - * src/c++11/locale-inst-numeric.h: Likewise. - -2023-07-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108046 - * include/std/format (__formatter_fp::format): Ensure __expc is - always set for all presentation types. Set __z correctly for - zero precision. - * testsuite/std/format/functions/format.cc: Check problem cases. - -2023-07-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110807 - * testsuite/23_containers/vector/bool/110807.cc: Require c++11. - -2023-07-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110807 - * include/bits/stl_bvector.h (vector(const vector&)): Access - iterators before allocating. - * include/bits/vector.tcc (vector<bool>::_M_insert_range): - Likewise. - * testsuite/23_containers/vector/bool/110807.cc: New test. - -2023-07-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/algorithmfwd.h (random_shuffle): Add deprecated - attribute. - * include/bits/stl_algo.h (random_shuffle): Correct comments. - * testsuite/25_algorithms/random_shuffle/1.cc: Disable - deprecated warnings. - * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. - * testsuite/25_algorithms/random_shuffle/deprecated.cc: New - test. - -2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com> - - * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic - locations. - * testsuite/26_numerics/gcd/105844.cc: Likewise. - * testsuite/26_numerics/lcm/105844.cc: Likewise. - -2023-07-24 Deev Patel <pateldeev@nevada.unr.edu> - - * include/std/format (_Formatting_scanner::_M_on_chars): Add - missing constexpr specifier. - (_Formatting_scanner::_M_format_arg): Likewise. - -2023-07-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110653 - * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not - throw an exception for zero result. - [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110077 - * src/c++17/floating_from_chars.cc (from_chars): Only define - _Float128 overload when using __strfromf128. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110593 - * include/bits/chrono.h (duration): Improve static assert - messages. - (__is_ratio): Move to ... - * include/std/ratio (__is_ratio): ... here. - (__is_ratio_v): New variable template and partial - specialization. - (__are_both_ratios): New function template. - (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): - Add static assertion. - * testsuite/20_util/ratio/requirements/type_constraints.cc: - New test. - * testsuite/20_util/duration/requirements/typedefs_neg1.cc: - Adjust expected error. - * testsuite/20_util/duration/requirements/typedefs_neg2.cc: - Likewise. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (__formatter_chrono::_M_format): - Do not set __is_neg for hh_mm_ss before calling - _M_format_to_ostream. Change __print_sign lambda to only check - __is_neg for durations and hh_mm_ss types. - (__formatter_chrono::_M_format_to_ostream): Only check __is_neg - for duration types. - * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110719 - * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): - Handle duration and hh_mm_ss. - * testsuite/20_util/duration/io.cc: Check locale-specific - formats. - * testsuite/std/time/hh_mm_ss/io.cc: Likewise. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__write_padded): Initialize first element - of array to avoid a -Wmaybe-uninitialized warning. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110719 - * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix - allowed modifiers for %z and %Z. Fix -Wparentheses and - -Wnarrowing warnings. - (__formatter_chrono::_M_format): Call new functions for %d, %e, - %H, %I, %m and %M. - (__formatter_chrono::_M_c): Use _S_floor_seconds to remove - subsecond precision. - (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle - modifiers. - (__formatter_chrono::_M_e): Replace with _M_d_e and use - _M_locale_fmt. - (__formatter_chrono::_M_I): Replace with _M_H_I and use - _M_locale_fmt. - (__formatter_chrono::_M_m): New function. - (__formatter_chrono::_M_M): New function. - (__formatter_chrono::_M_r): Use _M_locale_fmt. - (__formatter_chrono::_M_S): Likewise. - (__formatter_chrono::_M_u_w): Likewise. - (__formatter_chrono::_M_U_V_W): Likewise. - (__formatter_chrono::_M_X): Use _S_floor_seconds. - (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. - (__formatter_chrono::_S_altnum): Remove function. - (__formatter_chrono::_S_dd_zero_fill): Remove function. - (__formatter_chrono::_S_floor_seconds): New function. - (__formatter_chrono::_M_locale_fmt): New function. - * testsuite/std/time/clock/system/io.cc: Adjust expected output - for locale-specific formats and check modified formats. - * testsuite/std/time/clock/utc/io.cc: Likewise. - * testsuite/std/time/zoned_time/io.cc: New test. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110708 - * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only - allow a single modifier. - * testsuite/std/time/format.cc: Check multiple modifiers. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110653 - * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: - Remove dg-require-string-conversions. - * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: - Likewise. - * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: - Likewise. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110653 - * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): - Define in terms of std::stod. - -2023-07-19 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110653 - * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): - Define. - [_GLIBCXX_HAVE_STRTOLD] (stold): Define. - * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): - Declare in namespace std. - [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. - -2023-07-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110653 - * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not - depend on _GLIBCXX_USE_C99_STDLIB. - [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define - in terms of stol and stoul respectively. - [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms - of stod. - -2023-07-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/95048 - * testsuite/27_io/filesystem/path/construct/95048.cc: Check - conversions to wide strings. - * testsuite/experimental/filesystem/path/construct/95048.cc: - Likewise. - -2023-07-12 Jonathan Wakely <jwakely@redhat.com> - - * config/io/basic_file_stdio.cc: Define LFS macros. - (__basic_file<char>::open): Use fopen unconditionally. - (get_file_offset): Use lseek unconditionally. - (__basic_file<char>::seekoff): Likewise. - (__basic_file<char>::showmanyc): Use fstat unconditionally. - -2023-07-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110574 - * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello - and define _GLIBCXX_USE_FSEEKO_FTELLO. - * config.h.in: Regenerate. - * configure: Regenerate. - * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]: - Check for fwrite error correctly. - (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for - fread error correctly. - (get_file_offset): New function. - (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use - fseeko if available. Use get_file_offset instead of return value - of fseek. - (__basic_file<char>::showmanyc): Use get_file_offset. - -2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org> - - * include/std/type_traits (__make_unsigned_selector): Use - __is_enum built-in trait. - (__make_signed_selector): Likewise. - (__underlying_type_impl): Likewise. - -2023-07-06 Tianqiang Shuai <1101282468@qq.com> - - * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix - first argument. - -2023-07-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110574 - * doc/xml/manual/configure.xml: Describe stdio_pure argument to - --enable-cstdio. - * doc/html/manual/configure.html: Regenerate. - -2023-07-05 Thomas Rodgers <trodgers@redhat.com> - - * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete - file. - * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: - New file. - * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: - Likewise. - -2023-07-05 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: - Skip as UNSUPPORTED for C++98 mode. - * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: - Likewise. - -2023-07-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110542 - * include/bits/stl_uninitialized.h (__uninitialized_default_n): - Do not use std::fill_n during constant evaluation. - -2023-07-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/vector.tcc (_M_default_append): Replace try-block - with RAII types. - -2023-07-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/iterator_concepts.h (projected): Add typename. - -2023-07-03 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and - wosyncstream depend on _GLIBCXX_USE_CXX11_ABI. - -2023-07-03 Jonathan Wakely <jwakely@redhat.com> - - * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, - _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): - Define to OpenMP 5.0 pragmas even for GCC 10.0+. - (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. - -2023-07-03 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/alloc_traits.h (_Destroy): Qualify call. - * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise. - * testsuite/23_containers/vector/cons/destroy-adl.cc: New test. - -2023-07-03 Iain Sandoe <iain@sandoe.co.uk> - - * testsuite/lib/libstdc++.exp: Remove additional flag handled - by Darwin specs. - -2023-06-30 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110432 - * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY. - * include/std/iostream: Use new autoconf macro as well as - __has_attribute. - * src/c++98/ios_base_init.h: Use new autoconf macro instead of - __has_attribute. - -2023-06-30 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/random.cc (random_device::_M_init): Add maybe_unused - attribute. - -2023-06-30 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105081 - * src/c++11/random.cc (random_device::_M_init): Throw - std::system_error when the requested device is a valid token but - not available at runtime. - -2023-06-30 Hans-Peter Nilsson <hp@axis.com> - - PR libstdc++/108672 - * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using - __INT32_TYPE__ instead of int32_t. - -2023-06-29 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently - with USE_ATOMIC_LIST_HEAD. - (list_mutex): Replace global object with function. Use local - static object when std::mutex constructor isn't constexpr. - -2023-06-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110462 - * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that - copy_file_range can be called with loff_t* arguments. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_copy_file_range): - Use loff_t for offsets. - -2023-06-29 Tom Tromey <tromey@adacore.com> - - * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer - regexp. - -2023-06-28 Jan Hubicka <jh@suse.cz> - - PR middle-end/109849 - * include/bits/c++config (std::__terminate): Mark cold. - * include/bits/functexcept.h: Mark everything as cold. - * libsupc++/exception: Mark terminate and unexpected as cold. - -2023-06-26 Thomas Rodgers <trodgers@redhat.com> - - * include/pstl/algorithm_fwd.h: Synchronize with upstream. - * include/pstl/algorithm_impl.h: Likewise. - * include/pstl/execution_defs.h: Likewise. - * include/pstl/execution_impl.h: Likewise. - * include/pstl/glue_algorithm_impl.h: Likewise. - * include/pstl/glue_execution_defs.h: Likewise. - * include/pstl/glue_memory_impl.h: Likewise. - * include/pstl/glue_numeric_impl.h: Likewise. - * include/pstl/memory_impl.h: Likewise. - * include/pstl/numeric_fwd.h: Likewise. - * include/pstl/numeric_impl.h: Likewise. - * include/pstl/parallel_backend.h: Likewise. - * include/pstl/parallel_backend_serial.h: Likewise. - * include/pstl/parallel_backend_tbb.h: Likewise. - * include/pstl/parallel_impl.h: Likewise. - * include/pstl/pstl_config.h: Likewise. - * include/pstl/unseq_backend_simd.h: Likewise. - * include/pstl/utils.h: Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: - Likewise. - * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/set.cc: - Likewise. - * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/scan.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: - Likewise. - * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: - Likewise. - * testsuite/util/pstl/test_utils.h: - Likewise. - -2023-06-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110239 - * include/std/format (__format::__parse_integer): Fix buffer - overflow for wide chars. - (formatter<const void*, C>::format): Cast to uintptr_t instead - of uint64_t. - * testsuite/std/format/string.cc: Test too-large widths. - -2023-06-26 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/iterator_concepts.h (projected): Replace class - template with alias template denoting an ADL-proofed helper. - (incremental_traits<projected<Iter, Proj>>): Remove. - * testsuite/24_iterators/indirect_callable/projected-adl.cc: - New test. - -2023-06-26 Jonathan Wakely <jwakely@redhat.com> - - * include/debug/helper_functions.h (__get_distance) - (__check_singular, __valid_range_aux, __valid_range): Qualify - calls to disable ADL. - (__check_singular_aux(const _Safe_iterator_base*)): Declare - overload that was previously found via ADL. - -2023-06-23 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/vector.tcc (_M_realloc_insert): Replace try-block - with RAII types. - -2023-06-20 Jonathan Wakely <jwakely@redhat.com> - - * include/std/array (to_array(T(&)[N])): Remove redundant - condition. - (to_array(T(&&)[N])): Remove redundant std::move. - -2023-06-16 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/from_chars/4.cc: Skip long double on - aarch64-rtems. - -2023-06-16 Joel Brobecker <brobecker@adacore.com> - - * configure.ac ["x${with_newlib}" = "xyes"]: Define - HAVE_HYPOTF. Add compile-checks for various long double - math functions as well. - * configure: Regenerate. - -2023-06-14 Jonny Grant <jg@jguk.org> - - * doc/xml/manual/extensions.xml: Remove demangle exception - description and include. - * doc/html/manual/ext_demangling.html: Regenerate. - -2023-06-10 Hans-Peter Nilsson <hp@axis.com> - - * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main) - [! SIMULATOR_TEST]: Also exclude running test05. - * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto. - -2023-06-09 Ken Matsui <kmatsui@cs.washington.edu> - - * include/std/type_traits: Use using instead of typedef - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110077 - * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: - Only define if _Float128 and long double have different - representations. - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/100285 - * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP] - (basic_endpoint, basic_resolver_entry, resolver_base) - (basic_resolver_results, basic_resolver): Only define if the tcp - or udp protocols will be defined. - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (libtool_VERSION): Update to 6.0.33. - * configure: Regenerate. - * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33. - * doc/html/manual/abi.html: Regenerate. - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110149 - * include/std/format (formatter<const void*, charT>::parse): - Only alow 0 and P for C++26 and non-strict modes. - (formatter<const void*, charT>::format): Use toupper for P - type, and insert zero-fill characters for 0 option. - * testsuite/std/format/functions/format.cc: Check pointer - formatting. Only check P2510R3 extensions conditionally. - * testsuite/std/format/parse_ctx.cc: Only check P2510R3 - extensions conditionally. - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110167 - * include/std/array (to_array): Initialize arrays of trivial - types using memcpy. For non-trivial types, use lambda - expressions instead of a separate helper function. - (__to_array): Remove. - * testsuite/23_containers/array/creation/110167.cc: New test. - -2023-06-09 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/23_containers/deque/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/list/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/vector/modifiers/emplace/52799.cc: - Removed. - * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: - Removed. - * testsuite/23_containers/deque/modifiers/emplace/1.cc: New - test. - * testsuite/23_containers/list/modifiers/emplace/1.cc: New - test. - * testsuite/23_containers/vector/modifiers/emplace/1.cc: New - test. - -2023-06-07 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/110145 - * testsuite/20_util/to_chars/double.cc: Include <cfloat>. - (double_to_chars_test_cases, - double_scientific_precision_to_chars_test_cases_2, - double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6 - and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1. - Add unconditional tests with corresponding double constants - 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and - 0x1.7440bbff418b9p-18. - -2023-06-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_abi.cc (check_version): Re-add - CXXABI_1.3.14. - -2023-06-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: - Require effective target exceptions_enabled instead of using - dg-skip-if. - * testsuite/23_containers/vector/capacity/constexpr.cc: Expect - shrink_to_fit() to be a no-op without exceptions enabled. - * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: - Likewise. - * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: - Require effective target exceptions_enabled. - * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/mt_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/new_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/pool_allocator/check_allocate_max_size.cc: - Likewise. - * testsuite/ext/throw_allocator/check_allocate_max_size.cc: - Likewise. - -2023-06-07 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/20_util/duration/cons/2.cc: Use values that aren't - affected by rounding. - * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to - double before comparing for equality. - * testsuite/20_util/from_chars/6.cc: Likewise. - * testsuite/20_util/variant/86874.cc: Use values that aren't - affected by rounding. - * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to - original value instead of to floating-point-literal. - * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: - Cast arithmetic result to double before comparing for equality. - * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc: - Likewise. - * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc: - Likewise. - * testsuite/26_numerics/valarray/transcend.cc (eq): Check that - the absolute difference is less than 0.01 instead of comparing - to two decimal places. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: - Cast arithmetic result to double before comparing for equality. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: - Likewise. - * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: - Likewise. - * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. - -2023-06-07 Jonathan Wakely <jwakely@redhat.com> - - Revert: - 2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - * configure.ac: Use AS_IF. - * configure: Regenerate. - -2023-06-07 Thomas Schwinge <thomas@codesourcery.com> - - * testsuite/lib/prune.exp (libstdc++-dg-prune): Support - 'UNSUPPORTED: [...]: exception handling disabled'. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_abi.cc (check_version): Add - CXXABI_1.3.15 symver and make it the latestp. Remove - GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/104772 - * include/std/limits: (numeric_limits<__float128>): Define - for __STRICT_ANSI__ as well. - * testsuite/18_support/numeric_limits/128bit.cc: Remove - check for __STRICT_ANSI__. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - * configure.ac: Use AS_IF. - * configure: Regenerate. - -2023-06-06 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109822 - * include/experimental/bits/simd_builtin.h (_S_store): Rewrite - to avoid casts to other vector types. Implement store as - succession of power-of-2 sized memcpy to avoid PR90424. - -2023-06-06 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/110054 - * include/experimental/bits/simd_builtin.h (_S_masked_store): - Call into deduced ABI's SimdImpl after conversion. - * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt): - Don't use _mm_maskmoveu_si128. Use the generic fall-back - implementation. Also fix masked stores without SSE2, which - were not doing anything before. - -2023-06-06 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h (__bit_cast): Use - __gnu__::__vector_size__ instead of gnu::vector_size. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110139 - * include/std/array (__array_traits<T, 0>::operator T*()): Make - conversion operator explicit. - (array::front): Use size_type as subscript operand. - (array::data): Use static_cast to make conversion explicit. - * testsuite/23_containers/array/element_access/110139.cc: New - test. - -2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com> - - * include/bits/locale_classes.tcc: Remove check for - codecvt<char8_t, char, mbstate_t> facet. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set - close-on-exec flag on file descriptors. - -2023-06-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108178 - * src/filesystem/ops-common.h (do_copy_file): Check for empty - files by trying to read a character. - * testsuite/27_io/filesystem/operations/copy_file_108178.cc: - New test. - -2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com> - - * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_copy_file_range): - Define new function. - (do_copy_file): Use it. - -2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com> - - * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/filesystem/ops-common.h (copy_file_sendfile): Define new - function for sendfile logic. Loop to support large files. Skip - zero-length files. - (do_copy_file): Use it. - -2023-06-04 Jason Merrill <jason@redhat.com> - - PR c++/97720 - * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*. - * config/abi/pre/gnu.ver: Add it. - -2023-06-02 François Dumont <fdumont@gcc.gnu.org> - - * include/parallel/algobase.h: Include <parallel/search.h>. - -2023-06-01 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: - Add const to equality operator. - -2023-06-01 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::and_then, expected::or_else) - (expected::transform_error): Use _M_val and _M_unex instead of - calling value() and error(), as per LWG 3938. - (expected::transform): Likewise. Remove incorrect std::move - calls from lvalue overloads. - (expected<void, E>::and_then, expected<void, E>::or_else) - (expected<void, E>::transform): Use _M_unex instead of calling - error(). - * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then - and transform, and for std::expected<void, E>. - * testsuite/20_util/expected/lwg3938.cc: New test. - -2023-06-01 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/110060 - * include/bits/stl_vector.h (_Vector_base::_M_invariant): - Remove. - (vector::size, vector::capacity): Remove calls to _M_invariant. - * include/bits/vector.tcc (vector::_M_fill_assign): Add - optimization hint to reallocating path. - (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)): - Likewise. - * testsuite/23_containers/vector/capacity/invariant.cc: Moved - to... - * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc: - ...here. Check assign(FwdIter, FwdIter) too. - * testsuite/23_containers/vector/types/1.cc: Revert addition - of -Wno-stringop-overread option. - -2023-06-01 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/evolution.xml: Document removal of implicit - allocator rebinding extensions in strict mode and for C++20. - * doc/html/*: Regenerate. - -2023-06-01 Jason Merrill <jason@redhat.com> - - * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check - handlers in the cleanup phase. - -2023-06-01 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/110050 - * include/experimental/bits/simd.h (__vectorized_sizeof): With - __have_neon_a32 only single-precision float works (in addition - to integers). - -2023-06-01 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/stl_algo.h - (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move... - * include/bits/stl_algobase.h: ...here. - * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>. - * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>) - (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>): - Move... - * include/parallel/algobase.h: ...here. - * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm> - includes. Include <bits/stl_algobase.h>. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109818 - * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for - float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/c_global/cmath (float_t, double_t): Guard using new - _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math - functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks - for C99 rounding functions to here. - (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding - functions from here. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead - of _GLIBCXX_USE_C99_MATH_TR1. - * include/bits/random.tcc: Likewise. - * include/c_compatibility/math.h: Likewise. - * include/c_global/cmath: Likewise. - * include/ext/random: Likewise. - * include/ext/random.tcc: Likewise. - * include/std/complex: Likewise. - * testsuite/20_util/from_chars/4.cc: Likewise. - * testsuite/20_util/from_chars/8.cc: Likewise. - * testsuite/26_numerics/complex/proj.cc: Likewise. - * testsuite/26_numerics/headers/cmath/60401.cc: Likewise. - * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): - Likewise. - * testsuite/util/testsuite_random.h: Likewise. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New - function. - (vector::size(), vector::capacity()): Call _M_invariant(). - * testsuite/23_containers/vector/capacity/invariant.cc: New test. - * testsuite/23_containers/vector/types/1.cc: Add suppression for - false positive warning (PR110060). - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109921 - * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is - defined before trying to use _Float128. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers - to check __INT_PTR_WIDTH__ instead of sizeof(void*). - * configure: Regenerate. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/unique_lock.h: Include <bits/error_constants.h> - here for std::errc constants. - * include/std/mutex: Do not include <bits/error_constants.h> and - <exception> here. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * configure.ac: Replace use of -o operator for test. - * configure: Regenerate. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * include/std/scoped_allocator (scoped_allocator_adaptor): Add - noexcept to all constructors except the default constructor. - (scoped_allocator_adaptor::inner_allocator): Add noexcept. - (scoped_allocator_adaptor::outer_allocator): Likewise. - * testsuite/20_util/scoped_allocator/noexcept.cc: New test. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/104772 - * include/std/limits (numeric_limits<__float128>): Define. - * testsuite/18_support/numeric_limits/128bit.cc: New test. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and - msp430 to all 16-bit targets. - * configure: Regenerate. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109921 - * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): - Only define when USE_STRTOD_FOR_FROM_CHARS is also defined. - (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is - binary64. - (from_chars(const char*, const char*, double&, chars_format)): - Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here. - (from_chars(const char*, const char*, _Float128&, chars_format)) - Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is - defined, otherwise parse a long double and convert to _Float128. - -2023-05-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109922 - * include/std/iomanip (operator>>(basic_istream&, _Setfill)): - Add deprecated attribute to non-standard overload. - * doc/xml/manual/evolution.xml: Document deprecation. - * doc/html/*: Regenerate. - * testsuite/27_io/manipulators/standard/char/1.cc: Add - dg-warning for expected deprecated warning. - * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. - * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. - * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. - -2023-05-30 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/from_chars/4.cc: Skip long double test06 - on x86_64-vxworks. - * testsuite/20_util/to_chars/long_double.cc: Xfail run on - x86_64-vxworks. - -2023-05-30 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109822 - * include/experimental/bits/simd.h (to_native): Use int NTTP - as specified in PTS2. - (to_compatible): Likewise. Add missing tag to call mask - generator ctor. - * testsuite/experimental/simd/pr109822_cast_functions.cc: New - test. - -2023-05-30 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/tests/integer_operators.cc: - Compute expected value differently to avoid getting turned into - a vector shift. - -2023-05-30 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/tests/operator_cvt.cc: Make long - double <-> (u)long conversion tests conditional on sizeof(long - double) and sizeof(long). - -2023-05-26 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_ppc.h (_S_bit_shift_left): - Negative __y is UB, so prefer signed compare. - -2023-05-25 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/util/testsuite_allocator.h (PointerBase): Add - relational operators. - -2023-05-25 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/to_chars/long_double.cc: Expect execution - fail on x86-vxworks. - -2023-05-24 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109949 - * include/experimental/bits/simd.h (__intrinsic_type): If - __ALTIVEC__ is defined, map gnu::vector_size types to their - corresponding __vector T types without losing unsignedness of - integer types. Also prefer long long over long. - * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask - object to the expected unsigned vector type. - -2023-05-24 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109261 - * include/experimental/bits/simd.h (__intrinsic_type): - Specialize __intrinsic_type<double, 8> and - __intrinsic_type<double, 16> in any case, but provide the member - type only with __aarch64__. - -2023-05-24 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109261 - * include/experimental/bits/simd_neon.h (_S_reduce): Add - constexpr and make NEON implementation conditional on - not __builtin_is_constant_evaluated. - -2023-05-23 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/109261 - * include/experimental/bits/simd.h (_SimdWrapper::_M_set): - Avoid vector builtin subscripting in constant expressions. - (resizing_simd_cast): Avoid memcpy if constant_evaluated. - (const_where_expression, where_expression, where) - (__extract_part, simd_mask, _SimdIntOperators, simd): Add either - _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on - internal APIs). - * include/experimental/bits/simd_builtin.h (__vector_permute) - (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1) - (_GnuTraits::_SimdCastType2, _SimdImplBuiltin) - (_MaskImplBuiltin::_S_store): Add constexpr. - (_CommonImplBuiltin::_S_store_bool_array) - (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store) - (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add - constant_evaluated case. - * include/experimental/bits/simd_fixed_size.h - (_S_masked_load): Reword comment. - (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r) - (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write) - (__make_simd_tuple, __optimize_simd_tuple, __extract_part) - (__autocvt_to_simd, _Fixed::__traits::_SimdBase) - (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add - constexpr. - (_SimdTuple::operator[], _M_set): Add constexpr and add - constant_evaluated case. - (_MaskImplFixedSize::_S_load): Add constant_evaluated case. - * include/experimental/bits/simd_scalar.h: Add constexpr. - * include/experimental/bits/simd_x86.h (_CommonImplX86): Add - constexpr and add constant_evaluated case. - (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less) - (_S_less_equal): Value-initialize to satisfy constexpr - evaluation. - (_MaskImplX86::_S_load): Add constant_evaluated case. - (_MaskImplX86::_S_store): Add constexpr and constant_evaluated - case. Value-initialize local variables. - (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not) - (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated - case. - * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New - test. - -2023-05-22 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move - __infn into #ifdef'ed block. - * testsuite/experimental/simd/tests/fpclassify.cc: Declare - constants only when used. - * testsuite/experimental/simd/tests/frexp.cc: Likewise. - * testsuite/experimental/simd/tests/logarithm.cc: Likewise. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: - Likewise. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - Move totest and expect1 into #ifdef'ed block. - -2023-05-19 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/strings.xml: Move lafstern.org reference to https. - * doc/html/manual/strings.html: Regenerate. - -2023-05-17 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/109883 - * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test. - -2023-05-17 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/109883 - * include/c_global/cmath (atan2, fmod, pow): Move - __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and - __gnu_cxx::__bfloat16_t overloads. - (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo): - Likewise. - (fma): Move __gnu_cxx::__promote_3 using template after - _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. - -2023-05-17 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/18_support/headers/limits/synopsis.cc: Uncomment - checks for float_round_style and float_denorm_style. - -2023-05-17 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/c++config: Add system_header pragma. - -2023-05-17 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::and_then, expected::or_else) - (expected::transform, expected::transform_error): Fix exception - specifications as per LWG 3877. - (expected<void, E>::and_then, expected<void, E>::transform): - Likewise. - * testsuite/20_util/expected/lwg3877.cc: New test. - -2023-05-17 Ken Matsui <kmatsui@cs.washington.edu> - - * include/std/type_traits: Use __bool_constant instead of - integral_constant. - -2023-05-17 Jonathan Wakely <jwakely@redhat.com> - - * configure: Regenerate. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109741 - * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define. - * config.h.in: Regenerate. - * configure: Regenerate. - * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE. - * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not - align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE - instead of hardcoded 64. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11 - mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h> - functions in C++11 mode and define _GLIBCXX_USE_C99_FENV. - * config.h.in: Regenerate. - * configure: Regenerate. - * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV - instead of _GLIBCXX_USE_C99_FENV_TR1. - * include/c_global/cfenv: Likewise. - * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead - of _GLIBCXX_USE_C99_CTYPE_TR1. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in - C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for - <inttypes.h> features in C++11 mode and define - _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. - * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead - of _GLIBCXX_USE_C99_STDINT_TR1. - * include/c_compatibility/inttypes.h: Check - _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T - instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and - _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. - * include/c_compatibility/stdatomic.h: Check - _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1. - * include/c_compatibility/stdint.h: Likewise. - * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES - and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of - _GLIBCXX_USE_C99_INTTYPES_TR1 and - _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. - * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT - instead of _GLIBCXX_USE_C99_STDINT_TR1. - * include/std/atomic: Likewise. - * src/c++11/cow-stdexcept.cc: Likewise. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: - Likewise. - * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): - Likewise. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig - functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro. - * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC - instead of _GLIBCXX_USE_C99_COMPLEX_TR1. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add - assertion to ensure expected exception is throw. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/libstdc++-prettyprinters/chrono.cc: Only test - printer for chrono::zoned_time for cx11 ABI and tzdb effective - target. - -2023-05-16 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define - _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN. - * configure: Regenerate. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer - to check for nan, nanf, and nanl. - * configure: Regenerate. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/char_traits.h (char_traits<char16_t>): Do not - depend on _GLIBCXX_USE_C99_STDINT_TR1. - (char_traits<char32_t>): Likewise. - * include/experimental/source_location: Likewise. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t) - (atomic_int_least16_t, atomic_uint_least16_t) - (atomic_int_least32_t, atomic_uint_least32_t) - (atomic_int_least64_t, atomic_uint_least64_t) - (atomic_int_fast16_t, atomic_uint_fast16_t) - (atomic_int_fast32_t, atomic_uint_fast32_t) - (atomic_int_fast64_t, atomic_uint_fast64_t) - (atomic_intmax_t, atomic_uintmax_t): Define unconditionally. - * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/algorithmfwd.h (shuffle): Do not depend on - _GLIBCXX_USE_C99_STDINT_TR1. - * include/bits/ranges_algo.h (shuffle): Likewise. - * include/bits/stl_algo.h (shuffle): Likewise. - * include/ext/random: Likewise. - * include/ext/throw_allocator.h (random_condition): Likewise. - * include/std/random: Likewise. - * src/c++11/cow-string-inst.cc: Likewise. - * src/c++11/random.cc: Likewise. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/experimental/feat-cxx14.cc: Remove dependency on - _GLIBCXX_USE_C99_STDINT_TR1. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency - on _GLIBCXX_USE_C99_STDINT_TR1. - -2023-05-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/21_strings/basic_string_view/typedefs.cc: Remove - dependency on _GLIBCXX_USE_C99_STDINT_TR1. - * testsuite/experimental/string_view/typedefs.cc: Likewise. - -2023-05-11 Jonathan Wakely <jwakely@redhat.com> - - * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS] - (auto_locale, auto_ferounding): New class types. - (from_chars_impl): Use auto_locale and auto_ferounding. - -2023-05-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109772 - * include/std/chrono (hh_mm_ss::__fits): Remove variable - template. - (hh_mm_ss::__subseconds): Remove __fits from constraints. - * testsuite/std/time/hh_mm_ss/109772.cc: New test. - * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for - hh_mm_ss<duration<int, std::pico>>. - -2023-05-11 Jonathan Wakely <jwakely@redhat.com> - - * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. - * include/bits/basic_ios.h: Add static assertion checking - traits_type::value_type. - * include/bits/basic_string.h: Likewise. Do not rebind - allocator, and add static assertion checking its value_type. - (basic_string::_Alloc_traits_impl): Remove class template. - (basic_string::_S_allocate): New static member function. - (basic_string::assign): Use _S_allocate. - * include/bits/basic_string.tcc (basic_string::_M_create) - (basic_string::reserve, basic_string::_M_replace): Likewise. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc: - Disable for C++20 and later. - * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: - Likweise. - -2023-05-11 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109758 - * include/bits/std_abs.h (abs(__float128)): Handle negative NaN - and negative zero correctly. - * testsuite/26_numerics/headers/cmath/109758.cc: New test. - -2023-05-10 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/hashtable_policy.h - (_NodeBuilder<>::_S_build): Use __node_ptr. - (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*. - (_AllocNode<>): Likewise. - (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved - to call std::is_permutation in the non-unique key implementation. - * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture - _M_begin() once. - (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline. - (_Hashtable<>::_M_insert_bucket_begin): Likewise. - (_Hashtable<>::_M_remove_bucket_begin): Likewise. - (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than - const_iterator. - (_Hashtable<>::find): Likewise. - (_Hashtable<>::_M_emplace): Likewise. - (_Hashtable<>::_M_insert_unique): Likewise. - -2023-05-09 Jonathan Wakely <jwakely@redhat.com> - - * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter): - Print floating-point durations correctly. - (StdChronoTimePointPrinter): Support printing only the value, - not the type name. Uncomment handling for known clocks. - (StdChronoZonedTimePrinter): Remove type names from output. - (StdChronoCalendarPrinter): Fix hh_mm_ss member access. - (StdChronoTimeZonePrinter): Add equals sign to output. - * testsuite/libstdc++-prettyprinters/chrono.cc: New test. - -2023-05-05 Alexandre Oliva <oliva@adacore.com> - - * testsuite/20_util/from_chars/4.cc: Skip long double test06 - on aarch64-vxworks. - * testsuite/20_util/to_chars/long_double.cc: Xfail run on - aarch64-vxworks. - -2023-05-04 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/abi.xml (abi.versioning.history): Document - libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version. - * doc/html/manual/abi.html: Regenerate. - -2023-05-04 Florian Weimer <fweimer@redhat.com> - - * doc/xml/manual/abi.xml (abi.versioning.history): Add - GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for - libgcc_s. - -2023-05-03 Jakub Jelinek <jakub@redhat.com> - - * src/c++17/floating_from_chars.cc - (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to - _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format. - * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to - _ZSt8to_charsPcS_u9__ieee128. - (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to - _ZSt8to_charsPcS_u9__ieee128St12chars_format. - (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to - _ZSt8to_charsPcS_u9__ieee128St12chars_formati. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated. - -2023-05-03 Jakub Jelinek <jakub@redhat.com> - - * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu - rather than powerpc64-linux-gnu for powerpc64le*-linux*. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove - _ZTI*DF128_, _ZTI*DF64x symbols and symbols in - GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol - versions. - * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New - file. - -2023-05-03 Kefu Chai <kefu.chai@scylladb.com> - Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109703 - * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)): - Initialize _M_string_length. - -2023-05-02 Jakub Jelinek <jakub@redhat.com> - - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - -2023-05-02 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/109694 - * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for - -Wattribute-alias. - -2023-04-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/random.h (gamma_distribution): Add to the right - doxygen group. - (discrete_distribution, piecewise_constant_distribution) - (piecewise_linear_distribution): Create a new doxygen group and - fix the incomplete doxygen comments. - * include/bits/uniform_int_dist.h (uniform_int_distribution): - Add to doxygen group. - -2023-04-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/uses_allocator.h: Add missing @file comment. - * include/bits/regex.tcc: Remove stray doxygen comments. - * include/experimental/memory_resource: Likewise. - * include/std/bit: Tweak doxygen @cond comments. - * include/std/expected: Likewise. - * include/std/numbers: Likewise. - -2023-04-28 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes - from header paths. - -2023-04-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/move.h: Simplify opening/closing namespace std. - -2023-04-28 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/108969 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export - _ZSt21ios_base_library_initv. - * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32 - symver and make it the latestp. - * src/c++98/ios_init.cc (ios_base_library_init): New alias. - * acinclude.m4 (libtool_VERSION): Change to 6:32:0. - * include/std/iostream: If init_priority attribute is supported - and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv - symbol into the object. - * configure: Regenerated. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/mofunc_impl.h: Fix typo in doxygen comment. - * include/std/format: Likewise. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME) - (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for - HTML docs. - * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit - from doxygen docs. - * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): - Likewise. - * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) - (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) - (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) - (_DEFINE_BINARY_OPERATOR): Likewise. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/memory_resource.h: Improve doxygen comments. - * include/std/memory_resource: Likewise. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/40380 - * include/bits/basic_string.h: Improve doxygen comments. - * include/bits/cow_string.h: Likewise. - * include/bits/forward_list.h: Likewise. - * include/bits/fs_dir.h: Likewise. - * include/bits/fs_path.h: Likewise. - * include/bits/quoted_string.h: Likewise. - * include/bits/stl_bvector.h: Likewise. - * include/bits/stl_map.h: Likewise. - * include/bits/stl_multimap.h: Likewise. - * include/bits/stl_multiset.h: Likewise. - * include/bits/stl_set.h: Likewise. - * include/bits/stl_vector.h: Likewise. - * include/bits/unordered_map.h: Likewise. - * include/bits/unordered_set.h: Likewise. - * include/std/filesystem: Likewise. - * include/std/iomanip: Likewise. - -2023-04-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/105081 - * src/c++11/random.cc (__throw_syserr): New function. - (random_device::_M_init, random_device::_M_init_pretr1): Use new - function for bad tokens. - (random_device::_M_getval): Use new function for read errors. - * testsuite/util/testsuite_random.h (random_device_available): - Change catch handler to use std::system_error. - -2023-04-24 Patrick Palka <ppalka@redhat.com> - - * include/bits/max_size_type.h (__max_diff_type::operator>>=): - Fix propagation of sign bit. - * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the - non-standard 'signed typedef-name'. Add some compile-time tests - for right-shifting a negative __max_diff_type value by more than - one. - -2023-04-19 Patrick Palka <ppalka@redhat.com> - Jonathan Wakely <jwakely@redhat.com> - - PR c++/100157 - * include/bits/utility.h (_Nth_type): Conditionally define in - terms of __type_pack_element if available. - * testsuite/20_util/tuple/element_access/get_neg.cc: Prune - additional errors from the new built-in. - -2023-04-19 Jonathan Wakely <jwakely@redhat.com> - - Revert: - 2023-04-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108969 - * src/Makefile.am: Move globals_io.cc to here. - * src/Makefile.in: Regenerate. - * src/c++98/Makefile.am: Remove globals_io.cc from here. - * src/c++98/Makefile.in: Regenerate. - * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust - symbol name and then export with GLIBCXX_3.4.31 symver. - (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: - Regenerate. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/pre/gnu.ver: Add iostream objects to new symver. - -2023-04-19 Jonathan Wakely <jwakely@redhat.com> - - Revert: - 2023-04-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108969 - * config/abi/pre/gnu.ver: Fix preprocessor condition. - -2023-04-18 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/extensions.xml: Fix example to declare and - qualify std::free, and use NULL instead of 0. - * doc/html/manual/ext_demangling.html: Regenerate. - * libsupc++/cxxabi.h: Adjust doxygen comments. - -2023-04-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108969 - * config/abi/pre/gnu.ver: Fix preprocessor condition. - -2023-04-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108969 - * src/Makefile.am: Move globals_io.cc to here. - * src/Makefile.in: Regenerate. - * src/c++98/Makefile.am: Remove globals_io.cc from here. - * src/c++98/Makefile.in: Regenerate. - * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust - symbol name and then export with GLIBCXX_3.4.31 symver. - (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: - Regenerate. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: - Regenerate. - * config/abi/pre/gnu.ver: Add iostream objects to new symver. - -2023-04-18 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108827 - * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value - for C++23. - * include/std/ranges (range_adaptor_closure): Define for C++23. - * include/std/version (__cpp_lib_ranges): Bump value for - C++23. - * testsuite/std/ranges/version_c++23.cc: Bump expected value - of __cpp_lib_ranges. - * testsuite/std/ranges/range_adaptor_closure.cc: New test. - -2023-04-18 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (__cpp_lib_ranges_contains): - Define for C++23. - (__cpp_lib_ranges_iota): Likewise. - (__cpp_lib_ranges_find_last): Likewise. - (__cpp_lib_fold): Rename to ... - (__cpp_lib_ranges_fold): ... this. - * include/std/version: As above. - * testsuite/25_algorithms/fold_left/1.cc: Adjust after - renaming __cpp_lib_fold. - * testsuite/std/ranges/version_c++23.cc: Verify values - of the above feature-test macros. - -2023-04-18 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/109525 - * include/std/ranges (views::_AsConst::operator()): Add - missing const to constant_range test. - * testsuite/std/ranges/adaptors/as_const/1.cc (test02): - Improve formatting. Adjust expected type of v2. - (test03): New test. - -2023-04-14 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (const_iterator_t): Define for C++23. - (const_sentinel_t): Likewise. - (range_const_reference_t): Likewise. - (constant_range): Likewise. - (__cust_access::__possibly_const_range): Likewise, replacing ... - (__cust_access::__as_const): ... this. - (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. - (__cust_access::_CEnd::operator()): Likewise. - (__cust_access::_CRBegin::operator()): Likewise. - (__cust_access::_CREnd::operator()): Likewise. - (__cust_access::_CData::operator()): Likewise. - * include/bits/ranges_util.h (ranges::__detail::__different_from): - Make it an alias of std::__detail::__different_from. - (view_interface::cbegin): Define for C++23. - (view_interface::cend): Likewise. - * include/bits/stl_iterator.h (__detail::__different_from): Define. - (iter_const_reference_t): Define for C++23. - (__detail::__constant_iterator): Likewise. - (__detail::__is_const_iterator): Likewise. - (__detail::__not_a_const_iterator): Likewise. - (__detail::__iter_const_rvalue_reference_t): Likewise. - (__detail::__basic_const_iter_cat):: Likewise. - (const_iterator): Likewise. - (__detail::__const_sentinel): Likewise. - (const_sentinel): Likewise. - (basic_const_iterator): Likewise. - (common_type<basic_const_iterator<_Tp>, _Up>): Likewise. - (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. - (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>): - Likewise. - (make_const_iterator): Define for C++23. - (make_const_sentinel): Likewise. - * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. - (as_const_view): Likewise. - (enable_borrowed_range<as_const_view>): Likewise. - (views::__detail::__is_ref_view): Likewise. - (views::__detail::__can_is_const_view): Likewise. - (views::_AsConst, views::as_const): Likewise. - * include/std/span (span::const_iterator): Likewise. - (span::const_reverse_iterator): Likewise. - (span::cbegin): Likewise. - (span::cend): Likewise. - (span::crbegin): Likewise. - (span::crend): Likewise. - * include/std/version (__cpp_lib_ranges_as_const): Likewise. - * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to - behave independently of C++20 vs C++23. - * testsuite/std/ranges/version_c++23.cc: Verify value of - __cpp_lib_ranges_as_const macro. - * testsuite/24_iterators/const_iterator/1.cc: New test. - * testsuite/std/ranges/adaptors/as_const/1.cc: New test. - -2023-04-14 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_base.h (__cust_access::__as_const) - (__cust_access::_CBegin, __cust::cbegin) - (__cust_access::_CEnd, __cust::cend) - (__cust_access::_CRBegin, __cust::crbegin) - (__cust_access::_CREnd, __cust::crend) - (__cust_access::_CData, __cust::cdata): Move down definitions to - shortly after the definition of input_range. - -2023-04-14 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h: Include <optional> for C++23. - (__cpp_lib_fold): Define for C++23. - (in_value_result): Likewise. - (__detail::__flipped): Likewise. - (__detail::__indirectly_binary_left_foldable_impl): Likewise. - (__detail::__indirectly_binary_left_foldable): Likewise. - (___detail:__indirectly_binary_right_foldable): Likewise. - (fold_left_with_iter_result): Likewise. - (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. - (__fold_left_fn, fold_left): Likewise. - (__fold_left_first_with_iter_fn, fold_left_first_with_iter): - Likewise. - (__fold_left_first_fn, fold_left_first): Likewise. - (__fold_right_fn, fold_right): Likewise. - (__fold_right_last_fn, fold_right_last): Likewise. - * include/std/version (__cpp_lib_fold): Likewise. - * testsuite/25_algorithms/fold_left/1.cc: New test. - * testsuite/25_algorithms/fold_right/1.cc: New test. - -2023-04-14 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (formatter): Add comment to deleted default - constructor of primary template. - (_Checking_scanner): Add static_assert. - -2023-04-12 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/using.xml: Document libstdc++exp.a library. - * doc/html/*: Regenerate. - -2023-04-12 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names.cc [_AIX]: Do not define policy. - * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename - namespace to avoid clashing with libc struct. - * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: - Likewise. - * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX. - * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. - * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. - * testsuite/23_containers/unordered_set/96088.cc: Likewise. - * testsuite/experimental/synchronized_value.cc: Require gthreads - and add missing option for pthreads targets. - -2023-04-12 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (__cpp_lib_ranges_enumerate): Define - for C++23. - (__detail::__range_with_movable_reference): Likewise. - (enumerate_view): Likewise. - (enumerate_view::_Iterator): Likewise. - (enumerate_view::_Sentinel): Likewise. - (views::__detail::__can_enumerate_view): Likewise. - (views::_Enumerate, views::enumerate): Likewise. - * include/std/version (__cpp_lib_ranges_enumerate): Likewise. - * testsuite/std/ranges/version_c++23.cc: Verify value of - __cpp_lib_ranges_enumerate. - * testsuite/std/ranges/adaptors/enumerate/1.cc: New test. - -2023-04-12 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter): - Propagate _M_trailing_empty in the const-converting constructor - as per LWG 3904. - * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct - assertion. - * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test. - -2023-04-12 Patrick Palka <ppalka@redhat.com> - - * src/c++17/floating_from_chars.cc: Include <algorithm>, - <iterator>, <limits> and <cstdint>. - -2023-04-12 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108291 - * include/std/ranges (chunk_by_view::_M_find_next): Generalize - parameter types of the lambda wrapper passed to adjacent_find. - (chunk_by_view::_M_find_prev): Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05): - New tests. - -2023-04-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109482 - * include/experimental/internet (basic_endpoint::basic_endpoint()): - Ensure that the required union members are active. Only define - as constexpr for C++20 and later. - (basic_endpoint::basic_endpoint(const protocol_type&, port_type)): - Likewise. - * testsuite/experimental/net/internet/endpoint/cons.cc: Only - check constexpr default constructor for C++20 and later. - * testsuite/experimental/net/internet/endpoint/extensible.cc: - Likewise. - -2023-04-12 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdata.zi: Import new file from 2023c release. - -2023-04-05 Arsen Arsenović <arsen@aarsen.me> - - * include/precompiled/stdc++.h (C++17): Don't double-include - <charconv>, once with wrong conditions. - * testsuite/18_support/96817.cc: Require hosted. - * testsuite/18_support/bad_exception/59392.cc: Ditto. - * testsuite/20_util/scoped_allocator/108952.cc: Ditto. - * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto. - * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: - Ditto. - -2023-04-05 Arsen Arsenović <arsen@aarsen.me> - - * include/bits/c++config: When __STDC_HOSTED__ is zero, - disable _GLIBCXX_DEBUG and, if it was set, enable - _GLIBCXX_ASSERTIONS. - * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): - Include <bits/c++config.h> when determining whether debug is - set, in order to inherit the logic from above - -2023-04-05 Arsen Arsenović <arsen@aarsen.me> - - * testsuite/17_intro/versionconflict.cc: New test. - * include/std/version: Allow disabling the system_header pragma - via _GLIBCXX_TESTING_SYSHDR. - -2023-04-05 Arsen Arsenović <arsen@aarsen.me> - - * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): - Synchronize the definition block with... - * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): - ... this one here. Also define the 202202L value, rather than - leaving it up to purely unique_ptr.h, so that the value is - synchronized across all headers. - (__gnu_debug::_Safe_iterator_base): Move into new conditional - block. - * include/std/memory (__cpp_lib_atomic_value_initialization): - Define on freestanding under the same conditions as in - atomic_base.h. - * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops): - Also define on freestanding. - (__cpp_lib_to_chars): Ditto. - (__cpp_lib_gcd): Ditto. - (__cpp_lib_gcd_lcm): Ditto. - (__cpp_lib_raw_memory_algorithms): Ditto. - (__cpp_lib_array_constexpr): Ditto. - (__cpp_lib_nonmember_container_access): Ditto. - (__cpp_lib_clamp): Ditto. - (__cpp_lib_constexpr_char_traits): Ditto. - (__cpp_lib_constexpr_string): Ditto. - (__cpp_lib_sample): Ditto. - (__cpp_lib_lcm): Ditto. - (__cpp_lib_constexpr_iterator): Ditto. - (__cpp_lib_constexpr_char_traits): Ditto. - (__cpp_lib_interpolate): Ditto. - (__cpp_lib_constexpr_utility): Ditto. - (__cpp_lib_shift): Ditto. - (__cpp_lib_ranges): Ditto. - (__cpp_lib_move_iterator_concept): Ditto. - (__cpp_lib_constexpr_numeric): Ditto. - (__cpp_lib_constexpr_functional): Ditto. - (__cpp_lib_constexpr_algorithms): Ditto. - (__cpp_lib_constexpr_tuple): Ditto. - (__cpp_lib_constexpr_memory): Ditto. - -2023-04-05 John David Anglin <danglin@gcc.gnu.org> - - * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double - timeout factor on hppa*-*-*. - -2023-04-05 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex.h (sub_match::swap): New function. - * testsuite/28_regex/sub_match/lwg3204.cc: New test. - -2023-04-04 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/extensions.xml: Remove std::bad_exception from - example program. - * doc/html/manual/ext_demangling.html: Regenerate. - -2023-03-31 Jonathan Wakely <jwakely@redhat.com> - - PR tree-optimization/107087 - * include/bits/cow_string.h (basic_string::size()): Add - optimizer hint that _S_empty_rep()._M_length is always zero. - (basic_string::length()): Call size(). - -2023-03-31 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109339 - * include/std/stop_token (_Stop_state_ptr(const stop_source&)): - Add attribute access with access-mode 'none'. - * testsuite/30_threads/stop_token/stop_source/109339.cc: New test. - -2023-03-31 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (ip::basic_endpoint::_M_if_v6): - Revert change from member function to data member. Fix for - constant evaluation by detecting which union member is active. - (ip::basic_endpoint::resize): Revert changes to update _M_is_v6 - flag. - -2023-03-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109242 - * testsuite/20_util/optional/monadic/pr109340.cc: Moved to... - * testsuite/20_util/optional/monadic/pr109242.cc: ...here. - -2023-03-29 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (ip::make_address): Implement - missing overload. - (ip::address_v4::broadcast()): Avoid undefined shift. - (ip::basic_endpoint): Fix member functions for constexpr. - (ip::basic_endpoint::_M_is_v6): Replace member function with - data member, adjust member functions using it. - (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr - content. - * testsuite/experimental/net/internet/address/v4/cons.cc: Fix - constexpr checks to work in C++14. - * testsuite/experimental/net/internet/address/v4/creation.cc: - Likewise. - * testsuite/experimental/net/internet/endpoint/cons.cc: - Likewise. - * testsuite/experimental/net/internet/network/v4/cons.cc: - Likewise. - * testsuite/experimental/net/internet/network/v4/members.cc: - Likewise. - * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. - -2023-03-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/expected (expected::value() &): Use const lvalue - for unex member passed to bad_expected_access constructor, as - per LWG 3843. - -2023-03-29 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109340 - * include/std/expected (expected::transform): Use - std::remove_cv_t instead of std::remove_cvref_t. - (expected::transform_error): Likewise. - (expected<cv void, E>::transform): Likewise. - (expected<cv void, E>::transform_error): Likewise. - * include/std/optional (transform): Use std::remove_cv_t. - * testsuite/20_util/optional/monadic/pr109340.cc: New test. - -2023-03-29 Jonathan Wakely <jwakely@redhat.com> - - * include/std/optional (optional): Adjust static assertion to - reject arrays and functions as well as references. - * testsuite/20_util/optional/requirements_neg.cc: New test. - -2023-03-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/103387 - * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use - std::use_facet instead of cached _M_num_get facet. - (istream::operator>>(short&)): Likewise. - (istream::operator>>(int&)): Likewise. - * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use - std::use_facet instead of cached _M_num_put facet. - -2023-03-28 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/char_traits.h (char_traits::copy): Return without - using memcpy if n==0. - (char_traits::assign): Likewise for memset. - -2023-03-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109299 - * include/bits/basic_string.h (basic_string::_M_is_local()): Add - hint for compiler that local strings fit in the local buffer. - -2023-03-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109288 - * include/std/chrono (__detail::__get_leap_second_info): Update - expiry date of hardcoded leapseconds list. - * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()): - Likewise. - * src/c++20/tzdata.zi: Import new file from 2023a release. - * testsuite/std/time/time_zone/get_info_local.cc: Only check - transitions for Egypt up to 2014. - -2023-03-28 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h (is_simd_flag_type): New. - (_IsSimdFlagType): New. - (copy_from, copy_to, load ctors): Constrain _Flags using - _IsSimdFlagType. - -2023-03-28 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h (_SimdImplX86): Use - _Base::_S_divides if the optimized _S_divides function is hidden - via the preprocessor. - -2023-03-27 Jakub Jelinek <jakub@redhat.com> - - * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat - warning if size_t is not unsigned long. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)): - Add overload, as per LWG 3893. - * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: - Check assignment from nullptr. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (formatter<const charT[N], charT>): Do not - define partial speclialization, as per LWG 3833. - * testsuite/std/format/formatter/requirements.cc: Check it. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/utility (__cpp_lib_constexpr_algorithms): Define, - as per LWG 3792. - * testsuite/20_util/exchange/constexpr.cc: Check for it. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/version (__cpp_lib_format): Define. - * testsuite/std/format/functions/format.cc: Check it. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): - Pass rvalues to the callback, as now allowed by LWG 3645. - Enforce preconditions on the return value. - * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: - Adjust. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format: Add a comment noting that the resolution - of LWG 3720 has been applied.. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/regex.h (match_results): Add allocator-extended - copy and move constructors, as per LWG 2195. - * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test. - -2023-03-22 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stream_iterator.h (istream_iterator): Add - constexpr to copy constructor, as per LWG 3600. - * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: - Check copy construction. - -2023-03-21 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0 - with __RECIPROCAL_MATH__. - -2023-03-21 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_detail.h: Don't define - _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang. - * include/experimental/bits/simd_x86.h (_S_divides): Remove - check for __clang__. - -2023-03-21 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_detail.h: Don't declare the - simd API as constexpr with Clang. - * include/experimental/bits/simd_x86.h (__movm): New. - (_S_blend_avx512): Resolve FIXME. Implement blend using __movm - and ?:. - (_SimdImplX86::_S_masked_unary): Clang does not implement the - same builtins. Implement the function using __movm, ?:, and - - operators on vector_size types instead. - -2023-03-21 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/tests/operators.cc: Clang doesn't - define __GCC_IEC_559. Use __STDC_IEC_559__ instead. - -2023-03-20 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix - formatting. - -2023-03-20 Marek Polacek <polacek@redhat.com> - - PR c++/109159 - * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error. - * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. - * testsuite/23_containers/span/explicit.cc: Likewise. - -2023-03-20 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109182 - * include/std/expected (expected<void>::expected(in_place_t)): - Remove template-head. - -2023-03-18 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109165 - * testsuite/18_support/coroutines/hash.cc: Use const object - in second call. - -2023-03-17 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109165 - * include/std/coroutine (hash<>::operator()): Add const. - * testsuite/18_support/coroutines/hash.cc: New test. - -2023-03-14 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/109111 - * include/std/ranges (repeat_view): Remove redundant parentheses - in requires-clause. - (repeat_view::_Iterator): Correct the requires-clause. - -2023-03-14 Patrick Palka <ppalka@redhat.com> - - * include/bits/stl_iterator.h (move_iterator::_S_iter_concept): - Define. - (__cpp_lib_move_iterator_concept): Define for C++20. - (move_iterator::iterator_concept): Strengthen as per P2520R0. - * include/std/version (__cpp_lib_move_iterator_concept): Define - for C++20. - * testsuite/24_iterators/move_iterator/p2520r0.cc: New test. - -2023-03-14 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_util.h (view_interface::empty): Add - preferred overloads that use ranges::size when the range is - sized as per LWG 3715. - * testsuite/std/ranges/adaptors/lwg3715.cc: New test. - -2023-03-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono.h (__is_duration_v, __is_time_point_v): - Only define for C++17 and later. - -2023-03-14 Jonathan Wakely <jwakely@redhat.com> - - * src/Makefile.am: Add comment about linker script fragments. - * src/Makefile.in: Regenerate. - -2023-03-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/62196 - * include/bits/mask_array.h (mask_array): Add assertions to - assignment operators. - * include/std/valarray (valarray::operator[](valarray<bool>)): - Add assertions. - * testsuite/26_numerics/valarray/mask-1_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-2_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-3_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-4_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-5_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-6_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-7_neg.cc: New test. - * testsuite/26_numerics/valarray/mask-8_neg.cc: New test. - * testsuite/26_numerics/valarray/mask.cc: New test. - -2023-03-13 Jakub Jelinek <jakub@redhat.com> - - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. - -2023-03-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/Makefile.am: Add comment referring to documentation. - * doc/Makefile.in: Regenerate. - -2023-03-13 Jonathan Wakely <jwakely@redhat.com> - - * doc/html/*: Regenerate. - -2023-03-13 Jonny Grant <jg@jguk.org> - - * doc/xml/faq.xml: Update copyright year. - -2023-03-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/allocator.h: Fix typo in comment. - -2023-03-12 Jakub Jelinek <jakub@redhat.com> - - * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos - if it isn't mangled as DF16b but u6__bf16. - -2023-03-12 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org - to https. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-03-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/109064 - * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): - Remove self-recursion in __init__. Add missing _supports. - * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() - and unique(). - -2023-03-09 Patrick Palka <ppalka@redhat.com> - - * include/std/ranges - (cartesian_product_view::_Iterator::_Iterator): Remove - constraint on default constructor as per LWG 3849. - (cartesian_product_view::_Iterator::_M_prev): Adjust position - of _Nm > 0 test as per LWG 3820. - (cartesian_product_view::_Iterator::_M_advance): Perform bounds - checking only on sized cartesian products. - * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. - -2023-03-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/109024 - * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per - LWG 3796. - (repeat_view::_M_pred): Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. - * testsuite/std/ranges/repeat/1.cc (test05): New test. - -2023-03-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108362 - * include/std/ranges (__detail::__can_single_view): New concept. - (_Single::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - (__detail::__can_iota_view): New concept. - (_Iota::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - (__detail::__can_istream_view): New concept. - (_Istream::operator()): Constrain it. Move [[nodiscard]] to the - end of the function declarator. - * testsuite/std/ranges/iota/iota_view.cc (test07): New test. - * testsuite/std/ranges/istream_view.cc (test08): New test. - * testsuite/std/ranges/single_view.cc (test07): New test. - -2023-03-09 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/107572 - * include/std/ranges (cartesian_product_view::end): When - building the tuple of iterators, avoid calling ranges::begin on - the first range if __empty_tail is false. - * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. - -2023-03-09 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108882 - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect - patterns. - -2023-03-07 Jakub Jelinek <jakub@redhat.com> - - * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. - * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. - * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. - -2023-03-07 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108882 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to - not match symbols in namespace std::__gnu_cxx11_ieee128. - * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for - std::__gnu_cxx11_ieee128::money_{get,put}. - -2023-03-07 Jonathan Wakely <jwakely@redhat.com> - - * libsupc++/eh_personality.cc: Fix spelling in comment. - -2023-03-03 Alexandre Oliva <oliva@adacore.com> - - * testsuite/30_threads/async/async.cc (test04): Initialize - steady_start, renamed from steady_begin, next to slow_start. - Increase tolerance for final wait. - -2023-03-03 Alexandre Oliva <oliva@adacore.com> - - * testsuite/libstdc++-prettyprinters/80276.cc: Add - std::string to debug info. - * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. - -2023-03-03 Alexandre Oliva <oliva@adacore.com> - - PR libstdc++/104852 - PR libstdc++/95989 - PR libstdc++/52590 - * include/bits/std_thread.h (thread::_M_thread_deps): New - static implicitly-inline member function. - (std::thread template ctor): Pass it to _M_start_thread. - * src/c++11/thread.cc (thread::_M_start_thread): Name depend - parameter, force it live on entry. - -2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> - - * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. - * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: - Likewise. - * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. - * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: - Likewise. - -2023-03-01 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/cow_string.h: Fix typo in comment. - -2023-03-01 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if - current time zone cannot be determined. - * testsuite/std/time/tzdb/1.cc: Remove conditions based on - HAVE_TZDB macro and test all members unconditionally. - -2023-02-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108952 - * include/bits/uses_allocator_args.h - (uses_allocator_construction_args): Implement LWG 3527. - * testsuite/20_util/pair/astuple/get-2.cc: New test. - * testsuite/20_util/scoped_allocator/108952.cc: New test. - * testsuite/20_util/uses_allocator/lwg3527.cc: New test. - -2023-02-28 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108846 - * include/bits/stl_algobase.h (__copy_move<false, false, RA>) - Add __assign_one static member function. - (__copy_move<true, false, RA>): Likewise. - (__copy_move<IsMove, true, RA>): Do not use memmove for a single - value. - (__copy_move_backward<IsMove, true, RA>): Likewise. - * testsuite/25_algorithms/copy/108846.cc: New test. - * testsuite/25_algorithms/copy_backward/108846.cc: New test. - * testsuite/25_algorithms/copy_n/108846.cc: New test. - * testsuite/25_algorithms/move/108846.cc: New test. - * testsuite/25_algorithms/move_backward/108846.cc: New test. - -2023-02-28 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]] - attributes. - -2023-02-27 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/basic_ios.h (basic_ios::_M_setstate): Add - caveat to comment. - * include/bits/basic_string.h (resize_and_overwrite): Add - doxygen comment. - -2023-02-24 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h: Line breaks and indenting - fixed to follow the libstdc++ standard. - * include/experimental/bits/simd_builtin.h: Likewise. - * include/experimental/bits/simd_fixed_size.h: Likewise. - * include/experimental/bits/simd_neon.h: Likewise. - * include/experimental/bits/simd_ppc.h: Likewise. - * include/experimental/bits/simd_scalar.h: Likewise. - * include/experimental/bits/simd_x86.h: Likewise. - -2023-02-24 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/108030 - * include/experimental/bits/simd_fixed_size.h - (_SimdImplFixedSize::_S_broadcast): Replace inline with - _GLIBCXX_SIMD_INTRINSIC. - (_SimdImplFixedSize::_S_generate): Likewise. - (_SimdImplFixedSize::_S_load): Likewise. - (_SimdImplFixedSize::_S_masked_load): Likewise. - (_SimdImplFixedSize::_S_store): Likewise. - (_SimdImplFixedSize::_S_masked_store): Likewise. - (_SimdImplFixedSize::_S_min): Likewise. - (_SimdImplFixedSize::_S_max): Likewise. - (_SimdImplFixedSize::_S_complement): Likewise. - (_SimdImplFixedSize::_S_unary_minus): Likewise. - (_SimdImplFixedSize::_S_plus): Likewise. - (_SimdImplFixedSize::_S_minus): Likewise. - (_SimdImplFixedSize::_S_multiplies): Likewise. - (_SimdImplFixedSize::_S_divides): Likewise. - (_SimdImplFixedSize::_S_modulus): Likewise. - (_SimdImplFixedSize::_S_bit_and): Likewise. - (_SimdImplFixedSize::_S_bit_or): Likewise. - (_SimdImplFixedSize::_S_bit_xor): Likewise. - (_SimdImplFixedSize::_S_bit_shift_left): Likewise. - (_SimdImplFixedSize::_S_bit_shift_right): Likewise. - (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be - explicit about not always-inline, yet). - (_SimdImplFixedSize::_S_isinf): Likewise. - (_SimdImplFixedSize::_S_isfinite): Likewise. - (_SimdImplFixedSize::_S_isnan): Likewise. - (_SimdImplFixedSize::_S_isnormal): Likewise. - (_SimdImplFixedSize::_S_signbit): Likewise. - -2023-02-24 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/108856 - * include/experimental/bits/simd_builtin.h - (_SimdImplBuiltin::_S_masked_unary): More efficient - implementation of masked inc-/decrement for integers and floats - without AVX2. - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract - builtins for masked inc-/decrement. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/executor (executor): Constrain template - constructors. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (basic_endpoint): Add missing - constexpr to comparison operators. - * testsuite/experimental/net/internet/endpoint/cons.cc: New test. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (network_v4::netmask()): Avoid - undefined shift. - (network_v4::broadcast()): Optimize and fix for targets with - uint_least32_t wider than 32 bits. - (network_v4::to_string(const Allocator&)): Fix for custom - allocators and optimize using to_chars. - (operator==(const network_v4&, const network_v4&)): Add missing - constexpr. - (operator==(const network_v6&, const network_v6&)): Likewise. - * testsuite/experimental/net/internet/network/v4/cons.cc: New test. - * testsuite/experimental/net/internet/network/v4/members.cc: New test. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (address_4(const bytes_type&)): - Use __builtin_bit_cast if available, otherwise convert to - network byte order. - (address_v4::to_bytes()): Likewise, but convert from network - byte order. - * testsuite/experimental/net/internet/address/v4/cons.cc: Fix - incorrect tests. Check for constexpr too. - * testsuite/experimental/net/internet/address/v4/creation.cc: - Likewise. - * testsuite/experimental/net/internet/address/v4/members.cc: - Check that bytes_type is a standard-layout type. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/internet (address_v4::to_string): - Optimize. - * testsuite/experimental/net/internet/address/v4/members.cc: - Check more addresses. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * include/ext/aligned_buffer.h (__aligned_buffer): Add - diagnostic pragmas. - -2023-02-24 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/format/arguments/lwg3810.cc: Move dg-options - before dg-do. - -2023-02-23 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/tests/reductions.cc: Introduce - max_distance as the type-dependent max error. - -2023-02-23 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_builtin.h (_S_set): Compare as - int. The actual range of these indexes is very small. - -2023-02-23 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h (_S_bit_shift_left) - (_S_bit_shift_right): Declare constexpr. The implementation was - already expecting constexpr evaluation. - -2023-02-23 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/108030 - * include/experimental/bits/simd_detail.h - (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for - __clang__. - -2023-02-23 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/108030 - * include/experimental/bits/simd.h (__vector_broadcast): - Implement via __vector_broadcast_impl instead of - __call_with_n_evaluations + 2 lambdas. - (__vector_broadcast_impl): New. - -2023-02-22 Alexandre Oliva <oliva@adacore.com> - - * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): - Avoid destruction of the mutex pool. - -2023-02-22 Alexandre Oliva <oliva@adacore.com> - - * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail - on vxworks. - * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: - Likewise. - -2023-02-22 Alexandre Oliva <oliva@adacore.com> - - * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in - kernel mode. - -2023-02-20 Andreas Schwab <schwab@linux-m68k.org> - - * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. - -2023-02-20 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h (__extract_part, split): - Use reserved name for template parameter. - -2023-02-20 Andreas Schwab <schwab@suse.de> - - * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. - -2023-02-18 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/faq.xml: Switch two links to www.open-std.org to https. - * doc/html/faq.html: Regenerate. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_math.h (__hypot): Bitcasting - between scalars requires the __bit_cast helper function instead - of simd_bit_cast. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd_x86.h - (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less) - (_SimdImplX86::_S_less_equal): Do not call - __builtin_is_constant_evaluated in constexpr-if. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/tests/bits/verify.h - (verify::verify): Use %zx for size_t in format string. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/generate_makefile.sh: Generate and - pre-compile pch.h, which includes all headers that do not depend - on command-line macros. - * testsuite/experimental/simd/tests/bits/main.h: New file. - (iterate_abis, main): Moved from verify.h. - * testsuite/experimental/simd/tests/bits/verify.h - (iterate_abis, main): Moved to main.h. - * testsuite/experimental/simd/tests/bits/conversions.h: Add - include guard. - (genHalfBits): Simplify. - * testsuite/experimental/simd/tests/bits/make_vec.h: Add include - guard. - (make_alternating_mask): Moved from mask_loadstore. - * testsuite/experimental/simd/tests/bits/mathreference.h: Add - include guard. - * testsuite/experimental/simd/tests/bits/test_values.h: Ditto. - * testsuite/experimental/simd/tests/mask_loadstore.cc - (make_mask, make_alternating_mask): Removed. - * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. - * testsuite/experimental/simd/tests/operators.cc (genHalfBits): - Removed. - * testsuite/experimental/simd/tests/abs.cc: Only include - bits/main.h. - Ditto. - * testsuite/experimental/simd/tests/algorithms.cc: Ditto. - * testsuite/experimental/simd/tests/broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/casts.cc: Ditto. - * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. - * testsuite/experimental/simd/tests/frexp.cc: Ditto. - * testsuite/experimental/simd/tests/generator.cc: Ditto. - * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. - * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. - * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: - * testsuite/experimental/simd/tests/loadstore.cc: Ditto. - * testsuite/experimental/simd/tests/logarithm.cc: Ditto. - * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. - * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. - * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. - * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. - * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. - * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. - * testsuite/experimental/simd/tests/reductions.cc: Ditto. - * testsuite/experimental/simd/tests/remqo.cc: Ditto. - * testsuite/experimental/simd/tests/simd.cc: Ditto. - * testsuite/experimental/simd/tests/sincos.cc: Ditto. - * testsuite/experimental/simd/tests/split_concat.cc: Ditto. - * testsuite/experimental/simd/tests/splits.cc: Ditto. - * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. - * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. - * testsuite/experimental/simd/tests/where.cc: Ditto. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * testsuite/experimental/simd/README.md: Document the timeout - and timeout-factor directives. Minor typo fixed. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - PR libstdc++/108030 - * include/experimental/bits/simd_detail.h: Define - _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. - * include/experimental/bits/simd.h: Annotate lambdas with - _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. - * include/experimental/bits/simd_builtin.h: Ditto. - * include/experimental/bits/simd_converter.h: Ditto. - * include/experimental/bits/simd_fixed_size.h: Ditto. - * include/experimental/bits/simd_math.h: Ditto. - * include/experimental/bits/simd_neon.h: Ditto. - * include/experimental/bits/simd_x86.h: Ditto. - -2023-02-16 Matthias Kretz <m.kretz@gsi.de> - - * include/experimental/bits/simd.h - (_SimdWrapper::_M_is_constprop_none_of) - (_SimdWrapper::_M_is_constprop_all_of): Return false unless the - computed result still satisfies __builtin_constant_p. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8 - ellipsis character. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/Makefile.am: Add new header. - * include/Makefile.in: Regenerate. - * include/experimental/synchronized_value: New file. - * testsuite/experimental/synchronized_value.cc: New test. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/experimental/optional: Fix header name in comment. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/std/format (__format::_Arg_store): New class template. - (basic_format_args): Remove nested type _Store and add deduction - guide from _Arg_store. - (basic_format_arg, make_format_args): Adjust. - * testsuite/std/format/arguments/lwg3810.cc: New test. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling - constraints to constructors and add deleted overloads for the - dangling cases, as per P2255R2. - (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to - make dangling cases ill-formed. - * testsuite/20_util/pair/dangling_ref.cc: New test. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names_pstl.cc: Require et tbb_backend. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/ext/throw_allocator.h: Use reserved names for - parameters. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/17_intro/names_pstl.cc: Add space after effective - target name. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/pstl/algorithm_fwd.h (__pattern_search_n) - (__brick_unique_copy, __brick_adjacent_find) - (__brick_generate_n, __pattern_generate_n): Use reserved names - for parameters. - * include/pstl/algorithm_impl.h (__brick_unique_copy) - (__pattern_reverse, __brick_generate_n): Likewise. - * include/pstl/execution_impl.h (__prefer_unsequenced_tag) - (__prefer_parallel_tag): Likewise. - * include/pstl/glue_algorithm_impl.h (transform): Likewise. - * include/pstl/glue_numeric_defs.h (adjacent_difference): - Likewise. - * include/pstl/numeric_impl.h (__brick_adjacent_difference): - Likewise. - * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise. - * include/pstl/unseq_backend_simd.h (_Combiner) - (__simd_min_element, __simd_minmax_element): Likewise. - * testsuite/17_intro/names_pstl.cc: New test. - -2023-02-16 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_ops.h (create_directory): Use reserved name - for parameter. - * include/bits/ranges_algo.h (__contains_subrange_fn): - Likewise. - * include/bits/regex_automaton.h (_State_base::_M_print): - Likewise. - * include/bits/regex_automaton.tcc(_State_base::_M_print): - Likewise. - * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise. - * include/experimental/bits/fs_ops.h (create_directory): - Likewise. - * include/std/mutex (timed_mutex::_M_clocklock): Likewise. - (recursive_timed_mutex:_M_clocklock): Likewise. - * include/std/tuple (basic_common_reference): Likewise. - * libsupc++/cxxabi_init_exception.h - (__cxa_init_primary_exception): Likewise. - * testsuite/17_intro/names.cc: Add checks. - -2023-02-14 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link - to www.open-std.org and https. - * doc/html/manual/status.html: Regenerate. - -2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com> - - PR libstdc++/103934 - * include/std/atomic (atomic_flag_wait): Add. - (atomic_flag_wait_explicit): Add. - (atomic_flag_notify): Add. - (atomic_flag_notify_explicit): Add. - * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: - Add test case to cover missing atomic_flag free functions. - -2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com> - - PR libstdc++/103934 - * include/std/atomic (atomic_flag_test): Add. - (atomic_flag_test_explicit): Add. - * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add - test case to cover missing atomic_flag free functions. - * testsuite/29_atomics/atomic_flag/test/implicit.cc: - Likewise. - -2023-02-13 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/policy_data_structures_biblio.xml: Adjust - "The Component Object Model" reference. - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-02-12 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/containers.xml: Tweak a link to N1780 - (C++ standard). - * doc/html/manual/associative.html: Regenerate. - -2023-02-12 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org. - * doc/html/manual/facets.html: Regenerate. - -2023-02-11 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/policy_data_structures_biblio.xml: Update - link to "Worst-case efficient priority queues". - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-02-06 Arsen Arsenović <arsen@aarsen.me> - - * doc/xml/manual/using.xml: Document newly-freestanding - headers and the effect of the -ffreestanding flag. - * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as - completed. - * doc/xml/manual/configure.xml: Document that hosted installs - respect __STDC_HOSTED__. - * doc/xml/manual/test.xml: Document how to run tests in - freestanding mode. - * doc/html/*: Regenerate. - -2023-02-06 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp. - (__find_last_if_fn): Likewise. - -2023-02-06 Jonathan Wakely <jwakely@redhat.com> - - * include/std/type_traits: Add diagnostic pragmas around - references to deprecated std::aligned_storage and - std::aligned_union traits. - * testsuite/20_util/aligned_storage/requirements/alias_decl.cc: - Add dg-warning for et c++23. - * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc: - Likewise. - * testsuite/20_util/aligned_storage/value.cc: Likewise. - * testsuite/20_util/aligned_union/1.cc: Likewise. - * testsuite/20_util/aligned_union/requirements/alias_decl.cc: - Likewise. - -2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. - * include/bits/c++config (_GLIBCXX23_DEPRECATED) - (_GLIBCXX23_DEPRECATED_SUGGEST): New macros. - * include/std/type_traits (aligned_storage, aligned_union) - (aligned_storage_t, aligned_union_t): Deprecate for C++23. - * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test. - * testsuite/20_util/aligned_union/deprecated-2b.cc: New test. - -2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com> - - * doc/doxygen/user.cfg.in (PREDEFINED): Update macros. - * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make - consistent with other 'deprecated' macros. - * include/std/type_traits (is_pod, is_pod_v): Use - _GLIBCXX20_DEPRECATED_SUGGEST instead. - -2023-02-06 Arsen Arsenović <arsen@aarsen.me> - - * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory. - * Makefile.in: Regenerate. - * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files. - There's no history to be compatible with. - * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only - source files from the build. - * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. - * src/Makefile.in: Regenerate. - * src/c++11/Makefile.in: Regenerate. - * src/c++17/Makefile.in: Regenerate. - * src/c++20/Makefile.in: Regenerate. - * src/c++98/Makefile.in: Regenerate. - -2023-02-06 Jonathan Wakely <jwakely@redhat.com> - - * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add - filesystem, libbacktrace and experimental. - * src/Makefile.in: Regenerate. - -2023-02-04 Hans-Peter Nilsson <hp@axis.com> - - PR libstdc++/108672 - * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__ - instead of int32_t. - -2023-02-04 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-02-04 François Dumont <fdumont@gcc.gnu.org> - - * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to - storage to the move-from instance when allocators are equal. - * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04): - New test case. - -2023-02-03 Samuel Thibault <samuel.thibault@gnu.org> - - * config/os/gnu-linux/os_defines.h [!__linux__] - (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define. - -2023-02-03 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (__find_last_fn, find_last): - Define. - (__find_last_if_fn, find_last_if): Define. - (__find_last_if_not_fn, find_last_if_not): Define. - * testsuite/25_algorithms/find_last/1.cc: New test. - * testsuite/25_algorithms/find_last_if/1.cc: New test. - * testsuite/25_algorithms/find_last_if_not/1.cc: New test. - -2023-02-03 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (out_value_result): Define. - (iota_result): Define. - (__iota_fn, iota): Define. - * testsuite/25_algorithms/iota/1.cc: New test. - -2023-02-03 Patrick Palka <ppalka@redhat.com> - - * include/bits/ranges_algo.h (__contains_fn, contains): Define. - (__contains_subrange_fn, contains_subrange): Define. - * testsuite/25_algorithms/contains/1.cc: New test. - * testsuite/25_algorithms/contains_subrange/1.cc: New test. - -2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/abi.xml: Tweak link to ABIcheck project. - * doc/html/manual/abi.html: Regenerate. - -2023-02-02 Jonathan Wakely <jwakely@redhat.com> - - * src/filesystem/ops-common.h [AVR] (__unsupported): Always use - errc::function_not_supported instead of errc::not_supported. - -2023-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/sstream (basic_stringbuf::view): Define for old - std::string ABI. - (basic_istringstream::view, basic_0stringstream::view) - (basic_stringstream::view): Likewise. - * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove - { dg-require-effective-target cxx11_abi }. - * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: - Likewise. - * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. - * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: - Likewise. - -2023-02-02 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108636 - * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr - conversion operators for directory iterator comparisons with - std::default_sentinel_t. - * include/bits/fs_path.h (path::path(string_view, _Type)) - (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline - definitions to ... - * src/c++17/fs_path.cc: ... here. - * testsuite/27_io/filesystem/path/108636.cc: New test. - -2023-02-02 Jonathan Wakely <jwakely@redhat.com> - - * include/std/variant (variant::operator=): Implement resolution - of LWG 3585. - * testsuite/20_util/variant/lwg3585.cc: New test. - -2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org - link to https. - * doc/html/manual/using_exceptions.html: Regenerate. - -2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/debug.xml: Fix link to online GDB manual. - * doc/html/manual/debug.html: Regenerate. - -2023-02-01 Jonathan Wakely <jwakely@redhat.com> - - * src/c++11/random.cc (random_device::_M_fini): Do not try to - close the file handle if the target doesn't support the - /dev/random and /dev/urandom files. - -2023-02-01 Jonathan Wakely <jwakely@redhat.com> - - * config/os/generic/error_constants.h (errc::value_too_large) - [__AVR__]: Define. - * src/c++11/system_error.cc - (system_category::default_error_condition) [__AVR__]: Only match - recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. - * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check - for ENOENT etc. in switch. - (fs::remove_all) [__AVR__]: Likewise. - * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, - close etc. - -2023-02-01 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set - embed_zoneinfo=no - * configure: Regenerate. - -2023-02-01 Hans-Peter Nilsson <hp@axis.com> - - PR testsuite/108632 - * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty - struct at end of S0. - -2023-01-30 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/shared_ptr.xml: Move links from both - http://open-std.org and http://www.open-std.org to - https://www.open-std.org. - * doc/html/manual/memory.html: Regenerate. - -2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/appendix_contributing.xml: Adjust link to - ISO C++ standard at ANSI. - Move link to www.open-std.org to https. - * doc/html/manual/appendix_contributing.html: Regenerate. - -2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net - links to https. - * doc/html/manual/documentation_hacking.html: Regenerate. - -2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/abi.xml: Update www.open-std.org link to https. - * doc/html/manual/abi.html: Regenerate. - -2023-01-27 Jakub Jelinek <jakub@redhat.com> - - PR libstdc++/108568 - * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd - include features.h if present and then check __GLIBC__ and - __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing - __GLIBC_PREREQ which isn't defined yet. - -2023-01-27 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of - string literal. - -2023-01-27 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108554 - * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus. - -2023-01-26 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow - rules named "+" for compatibility with older tzdata.zi files. - -2023-01-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108554 - * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add - nonnull attribute. - (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull - attributes. - * testsuite/23_containers/map/modifiers/108554.cc: New test. - -2023-01-26 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108530 - * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in - /etc/sysconfig/clock, not DEFAULT_TIMEZONE. - -2023-01-26 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/intro.xml: Update links to www.open-std.org to - use https. - * doc/html/manual/bugs.html: Regenerate. - -2023-01-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108530 - * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in - /etc/sysconfig/clock. - -2023-01-24 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/102301 - * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for - std::make_reverse_iterator. - * include/std/tuple: Include <bits/ranges_util.h> for subrange. - (make_from_tuple): Add static assertion from P2255 to diagnose - dangling references. - * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. - * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. - -2023-01-23 François Dumont <fdumont@gcc.gnu.org> - - * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New. - (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New. - (_Safe_iterator::operator++(int)): Use latter. - (_Safe_iterator::operator--(int)): Likewise. - (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular() - check. - * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked): - New. - (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New. - (_Safe_local_iterator::operator++(int)): Use latter. - * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id - entry associated to the array entry. - -2023-01-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/fs_path.h (u8path): Add deprecated attribute. - * testsuite/27_io/filesystem/path/construct/90281.cc: Add - -Wno-deprecated-declarations for C++20 and later. - * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: - Likewise. - * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. - * testsuite/27_io/filesystem/path/native/string.cc: Likewise. - * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. - -2023-01-18 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]: - Always call _M_fini and _M_getentropy. - -2023-01-18 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links - to www.open-std.org to use https. - (COM: Component Model Object Technologies): Rename from... - (The Component Object Model): ...to. - * doc/html/manual/policy_data_structures.html: Regenerate. - -2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com> - - * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify. - * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify. - -2023-01-17 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead - of $host. Fix check for file being present during native build. - * configure: Regenerate. - -2023-01-17 Martin Liska <mliska@suse.cz> - - * src/libbacktrace/Makefile.in: Regenerate. - -2023-01-16 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. - -2023-01-16 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108413 - * include/c_compatibility/stdatomic.h: Change copyright line to - be consistent with other headers contributed under DCO terms. - * include/std/expected: Add full stop to copyright line. - * src/c++20/tzdb.cc: Likewise. - -2023-01-15 Gerald Pfeifer <gerald@pfeifer.com> - - * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to - https. - * doc/xml/manual/status_cxx2017.xml: Ditto. - * doc/xml/manual/status_cxx2020.xml: Ditto. - * doc/xml/manual/status_cxx2023.xml: Ditto. - * doc/html/manual/status.html: Regenerate. - -2023-01-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if - and fail gracefully if defining the weak symbol doesn't work. - -2023-01-15 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/108288 - * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock - fix to other iterator category. - (_Safe_iterator<>::operator--(int)): Likewise. - * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)): - Fix deadlock. - * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New. - (invalid_local_iterator_post_increment): New. - * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc: - New test. - * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc: - New test. - -2023-01-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from - dg-options. - -2023-01-15 Jonathan Wakely <jwakely@redhat.com> - - * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. - -2023-01-14 Björn Schäpers <bjoern@hazardy.de> - - * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for - windows.h. Add pecoff as FORMAT_FILE. - * config.h.in: Regenerate. - * configure: Regenerate. - * src/libbacktrace/Makefile.am: Regenerate. - * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE. - -2023-01-14 Björn Schäpers <bjoern@hazardy.de> - - * include/std/stacktrace (stacktrace_entry::_S_demangle): Use - raw __name if __cxa_demangle could not demangle it. - -2023-01-14 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108409 - * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment - variable. - -2023-01-14 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for - loading tzdb. - * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb - effective target. - * testsuite/std/time/tzdb_list/1.cc: Likewise. - -2023-01-14 Jonathan Wakely <jwakely@redhat.com> - - * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the - --with-libstdcxx-zoneinfo-dir configure option with - --with-libstdcxx-zoneinfo with yes/no/static choices as well as - a directory. - * config.h.in: Regenerate. - * configure: Regenerate. - * doc/xml/manual/configure.xml: Document configure option. - * doc/html/manual/configure.html: Regenerate. - * src/c++20/Makefile.am: Generate tzdata.zi.h header. - * src/c++20/Makefile.in: Regenerate. - * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a - null pointer if no directory is configured. - (zoneinfo_dir): Replace with ... - (zoneinfo_file): New function. - (tzdata_stream): New istream class. - (remote_version, reload_tzdb): Use tzdata_stream. - * testsuite/lib/libstdc++.exp (check_effective_target_tzdb): - Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of - tzdata.zi file in default location. - * src/c++20/tzdata.zi: New file. - -2023-01-14 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/chrono_io.h (operator<<): Fix syntax errors. - * testsuite/std/time/month_day/io.cc: New test. - * testsuite/std/time/month_day_last/io.cc: New test. - * testsuite/std/time/month_weekday/io.cc: New test. - * testsuite/std/time/month_weekday_last/io.cc: New test. - * testsuite/std/time/weekday_indexed/io.cc: New test. - * testsuite/std/time/weekday_last/io.cc: New test. - * testsuite/std/time/year_month/io.cc: New test. - * testsuite/std/time/year_month_day_last/io.cc: New test. - * testsuite/std/time/year_month_weekday/io.cc: New test. - * testsuite/std/time/year_month_weekday_last/io.cc: New test. - -2023-01-14 François Dumont <fdumont@gcc.gnu.org> - - * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol - specifications. - * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols - export. - -2023-01-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_mutex.h: Include <errno.h>. - -2023-01-13 Arsen Arsenović <arsen@aarsen.me> - - * testsuite/20_util/to_chars/version.cc: Mark hosted-only. - * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto. - * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of - std::make_unique with a freestanding-compatible wrapper around - unique_ptr. - * testsuite/21_strings/basic_string_view/operations/contains/char.cc: - Don't test for presence of __cpp_lib_string_contains on !HOSTED. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Ditto. - * testsuite/std/ranges/version_c++23.cc: Don't test for presence - of __cpp_lib_ranges in !HOSTED. - -2023-01-13 Arsen Arsenović <arsen@aarsen.me> - - * include/Makefile.am: Install bits/char_traits.h, - std/string_view - * include/Makefile.in: Regenerate. - * include/bits/char_traits.h: Gate hosted-only, wchar-only and - mbstate-only bits behind appropriate #ifs. - * include/std/string_view: Gate <iostream> functionality behind - HOSTED. - * include/std/version: Enable __cpp_lib_constexpr_string_view - and __cpp_lib_starts_ends_with in !HOSTED. - * include/std/ranges: Re-enable __is_basic_string_view on - freestanding, include <string_view> directly. - * include/precompiled/stdc++.h: Include <string_view> when - !HOSTED too. - * testsuite/20_util/function_objects/searchers.cc: Skip testing - boyer_moore searchers on freestanding - * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard - <string>-related tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. - * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove - unused <stdexcept> include. - * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove - unused <vector> include. - * testsuite/21_strings/basic_string_view/cons/char/range.cc: - Guard <string> related testing behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: - Guard <stdexcept> related tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/element_access/char/1.cc: - Ditto. - * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: - Guard <stdexcept> tests behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: - Enable test on freestanding, guard <stdexcept> bits behind - __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/substr/char.cc: - Guard <stdexcept> bits behind __STDC_HOSTED__. - * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: - Ditto. - -2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com> - - PR libstdc++/86419 - * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect - errors in incomplete multibyte sequences. - (utf16_in): Remove surrogates parameter. Fix conditions for - returning partial. - (utf16_out): Fix condition for returning partial. - (ucs2_in): Do not pass surrogates argument to utf16_in. - * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. - * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for - tests. - * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New - test. - -2023-01-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108331 - * config/io/c_io_stdio.h (__c_lock): Define as a typedef for - __GTHREAD_LEGACY_MUTEX_T if defined. - -2023-01-13 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108327 - * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31): - Export __try_use_facet specializations for facets in namespace - __gnu_cxx_ldbl128. - * config/os/gnu-linux/ldbl-ieee128-extra.ver - (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace - __gnu_cxx_ieee128. - * testsuite/util/testsuite_abi.cc: Add to lists of known and - latest versions. - -2023-01-13 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/std_mutex.h: Remove <system_error> include. - * include/std/condition_variable: Add <bits/error_constants.h> - include. - * include/std/mutex: Likewise. - * include/std/shared_mutex: Likewise. - -2023-01-12 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/77691 - * include/experimental/memory_resource - (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define. - (do_allocate, do_deallocate): Check it. - * testsuite/experimental/memory_resource/new_delete_resource.cc: - Relax expected behaviour for 64-bit hppa-hp-hpux11.11. - -2023-01-12 Jonathan Wakely <jwakely@redhat.com> - - * doc/xml/manual/abi.xml: Add latest library versions. - * doc/html/manual/abi.html: Regenerate. - -2023-01-12 François Dumont <fdumont@gcc.gnu.org> - - PR libstdc++/107189 - * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove - unused _Alloc_node instance. - -2023-01-12 Jonathan Wakely <jwakely@redhat.com> - - * include/bits/atomic_wait.h (__detail::__platform_wait_t): - Define as unsigned long if always lock-free, and unsigned int - otherwise. - -2023-01-10 Jonathan Wakely <jwakely@redhat.com> - - * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and - __catch macros for exception handling. - -2023-01-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108221 - * include/bits/stl_algobase.h (__lg): Replace six overloads with - a single function template for all integer types. - * include/bits/stl_algo.h (__merge_adaptive_resize): Cast - arithmetic results back to _Distance. - -2023-01-10 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108221 - * include/std/span (span::span()): Un-simplify constraint to - work for size_t of lesser rank than int. - -2023-01-07 LIU Hao <lh_mouse@126.com> - - PR middle-end/108300 - * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before - <windows.h>. - * src/c++11/thread.cc: Likewise. - * src/c++17/fs_ops.cc: Likewise. - * src/filesystem/ops.cc: Likewise. - -2023-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108228 - * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma. - -2023-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108235 - * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class - template and partial specialization for synchronizing access to - time_zone::_Impl::infos. - (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of - rules_counter. - -2023-01-06 Patrick Palka <ppalka@redhat.com> - - PR libstdc++/108260 - * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23. - * include/std/ranges (__cpp_lib_ranges_zip): Likewise. - (__cpp_lib_ranges_chunk): Likewise. - (__cpp_lib_ranges_slide): Likewise. - (__cpp_lib_ranges_chunk_by): Likewise. - (__cpp_lib_ranges_join_with): Likewise. - (__cpp_lib_ranges_repeat): Likewise. - (__cpp_lib_ranges_stride): Likewise. - (__cpp_lib_ranges_cartesian_product): Likewise. - (__cpp_lib_ranges_as_rvalue): Likewise. - * include/std/version: Ditto. - * testsuite/20_util/tuple/p2321r2.cc: Verify value of - feature-test macro. - * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. - * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. - * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. - * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. - * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. - * testsuite/std/ranges/cartesian_product/1.cc: Likewise. - * testsuite/std/ranges/repeat/1.cc: Likewise. - * testsuite/std/ranges/zip/1.cc: Likewise. - * testsuite/std/ranges/version_c++23.cc: New test. - -2023-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108214 - * include/std/bitset (operator>>): Use alloca in the right - scope, not in a constructor. - * testsuite/20_util/bitset/io/input.cc: Check case from PR. - -2023-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108221 - * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]: - Disable visiting floating-point types. - -2023-01-06 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108288 - * include/debug/safe_iterator.h (_Safe_iterator::operator++(int)) - (_Safe_iterator::operator--(int)): Do not hold lock around - construction of return value. - -2023-01-05 John David Anglin <danglin@gcc.gnu.org> - - * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define. - (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for - lock release. Revise loop. - (__atomic_add): Likewise. - -2023-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108212 - * python/libstdcxx/v6/printers.py (_utc_timezone): New global - variable. - (StdChronoTimePointPrinter::to_string): Use it. - -2023-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108290 - * include/std/functional (_Bind_front): Add no_unique_address - attribute to data members. - * testsuite/20_util/function_objects/bind_front/107784.cc: Check - size of call wrappers with empty types for targets and bound - arguments. - -2023-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108211 - * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone - using only last component of the name. - -2023-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108228 - PR libstdc++/108235 - * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to - the latest symbol version. - * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if - atomic<_Node*> is not always lock free. - (USE_ATOMIC_LIST_HEAD): New macro. - [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide - definition of weak symbol. - (tzdb_list::_Node::_S_head): Rename to _S_head_cache. - (tzdb_list::_Node::_S_list_head): New function for accessing - list head efficiently. - (tzdb_list::_Node::_S_cache_list_head): New function for - updating _S_list_head. - -2023-01-05 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108265 - * include/std/chrono (hh_mm_ss): Do not use chrono::abs if - duration rep is unsigned. - * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. - -2023-01-04 Iain Sandoe <iain@sandoe.co.uk> - - PR libstdc++/108228 - * config/abi/pre/gnu.ver (GLIBCXX_3.4): - Add __gnu_cxx::zoneinfo_dir_override(). - -2023-01-04 Jonathan Wakely <jwakely@redhat.com> - - PR libstdc++/108258 - * include/std/array (__array_traits<T, 0>::operator T*()): Add - constexpr. - * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check - std::array<T, 0>::data(). - -Copyright (C) 2023 Free Software Foundation, Inc. +Copyright (C) 2024 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright diff --git a/libstdc++-v3/ChangeLog-2023 b/libstdc++-v3/ChangeLog-2023 new file mode 100644 index 0000000..f97165b --- /dev/null +++ b/libstdc++-v3/ChangeLog-2023 @@ -0,0 +1,8354 @@ +2023-12-31 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/20_util/hash/quality.cc: Increase timeout by a factor 3. + +2023-12-31 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable.h: Move comment about all equivalent values + being next to each other in the class documentation header. + (_M_reinsert_node, _M_merge_unique): Implement small size optimization. + (_M_find_tr, _M_count_tr, _M_equal_range_tr): Likewise. + +2023-12-31 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/performance/23_containers/insert/54075.cc: Add lookup on unknown entries + w/o copy to see potential impact of memory fragmentation enhancements. + * testsuite/performance/23_containers/insert/unordered_multiset_hint.cc: Enhance hash + functor to make it perfect, exactly 1 entry per bucket. Also use hash functor tagged as + slow or not to bench w/o hash code cache. + * testsuite/performance/23_containers/insert/unordered_set_hint.cc: New test case. Like + previous one but using std::unordered_set. + * testsuite/performance/23_containers/insert/unordered_set_range_insert.cc: New test case. + Check performance of range-insertion compared to individual insertions. + * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc: Add same bench + but after a copy to demonstrate impact of enhancements regarding memory fragmentation. + +2023-12-22 Christophe Lyon <christophe.lyon@linaro.org> + + * Makefile.am: Allow overriding EXEPCT. + * Makefile.in: Regenerate. + +2023-12-21 Arsen Arsenović <arsen@aarsen.me> + + * include/Makefile.am: Install std/generator, bits/elements_of.h + as freestanding. + * include/Makefile.in: Regenerate. + * include/bits/version.def: Add __cpp_lib_generator. + * include/bits/version.h: Regenerate. + * include/precompiled/stdc++.h: Include <generator>. + * include/std/ranges: Include bits/elements_of.h + * include/bits/elements_of.h: New file. + * include/std/generator: New file. + * testsuite/24_iterators/range_generators/01.cc: New test. + * testsuite/24_iterators/range_generators/02.cc: New test. + * testsuite/24_iterators/range_generators/copy.cc: New test. + * testsuite/24_iterators/range_generators/except.cc: New test. + * testsuite/24_iterators/range_generators/synopsis.cc: New test. + * testsuite/24_iterators/range_generators/subrange.cc: New test. + +2023-12-21 Arsen Arsenović <arsen@aarsen.me> + + * include/bits/ranges_util.h: Add missing <bits/invoke.h> + include. + +2023-12-18 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/112802 + PR libstdc++/113068 + * include/std/ranges (__detail::_To::operator()): Add constraints. + (__detail::_To2::operator()): Likewise. + * testsuite/std/ranges/conv/1.cc (test_sfinae): New test. + (test_composition): New test. + +2023-12-16 Jonathan Wakely <jwakely@redhat.com> + + * src/c++23/print.cc (__open_terminal(FILE*)): Avoid fileno + macro. + +2023-12-16 H.J. Lu <hjl.tools@gmail.com> + + * config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: + Updated. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (remove_pointer): Use __remove_pointer + built-in trait. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_object): Use __is_object built-in + trait. + (is_object_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_function): Use __is_function + built-in trait. + (is_function_v): Likewise. Optimize its implementation. Move + this under is_const_v as this depends on is_const_v. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_reference): Use __is_reference + built-in trait. + (is_reference_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_member_object_pointer): Use + __is_member_object_pointer built-in trait. + (is_member_object_pointer_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_member_function_pointer): Use + __is_member_function_pointer built-in trait. + (is_member_function_pointer_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_member_pointer): Use + __is_member_pointer built-in trait. + (is_member_pointer_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_scoped_enum): Use + __is_scoped_enum built-in trait. + (is_scoped_enum_v): Likewise. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_bounded_array_v): Use + __is_bounded_array built-in trait. + +2023-12-16 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (is_array): Use __is_array built-in + trait. + (is_array_v): Likewise. + +2023-12-15 Jonathan Wakely <jwakely@redhat.com> + + * src/c++23/print.cc (__write_to_terminal) [_WIN32]: If handle + does not refer to the console then just write to it using normal + file I/O. + * testsuite/27_io/print/2.cc (as_printed_to_terminal): Print + error message on failure. + (test_utf16_transcoding): Adjust for as_printed_to_terminal + modifying its argument. + +2023-12-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (vprint_unicode) [_WIN32]: Use RAII guard. + (vprint_unicode) [!_WIN32]: Just call vprint_nonunicode. + * include/std/print (vprint_unicode) [!_WIN32]: Likewise. + +2023-12-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ostream (vprint_nonunicode, vprint_unicode): Do + not insert padding. + * testsuite/27_io/basic_ostream/print/1.cc: Adjust expected + behaviour. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/107760 + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/version.def (__cpp_lib_print): Define. + * include/bits/version.h: Regenerate. + * include/std/format (__literal_encoding_is_utf8): New function. + (_Seq_sink::view()): New member function. + * include/std/ostream (vprintf_nonunicode, vprintf_unicode) + (print, println): New functions. + * include/std/print: New file. + * src/c++23/Makefile.am: Add new source file. + * src/c++23/Makefile.in: Regenerate. + * src/c++23/print.cc: New file. + * testsuite/27_io/basic_ostream/print/1.cc: New test. + * testsuite/27_io/print/1.cc: New test. + * testsuite/27_io/print/2.cc: New test. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): Add + missing header to configure test. Check correct variable. + * config/io/basic_file_stdio.cc (__basic_file<char>::native_handle): + Fix typo. + * configure: Regenerate. + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: Do not + call CloseHandle on the native handle. + * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: + Likewise. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (_Seq_sink): Fix missing argument in + discarded statement. Add comments, likely/unlikely attributes + and debug assertions as sanity checks. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/objects/char/2.cc: Use dg-output. + * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order + of arguments to std::format_to. + * testsuite/20_util/duration/io.cc: Test subsecond duration with + floating-point rep. + +2023-12-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109536 + * include/bits/c++config (__glibcxx_constexpr_assert): Remove + macro. + * include/bits/stl_algobase.h (__niter_base, __copy_move_a) + (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) + (__lexicographical_compare_aux): Add constexpr to overloads for + debug mode iterators. + * include/debug/helper_functions.h (__unsafe): Add constexpr. + * include/debug/macros.h (_GLIBCXX_DEBUG_VERIFY_COND_AT): Remove + macro, folding it into ... + (_GLIBCXX_DEBUG_VERIFY_AT_F): ... here. Do not use + __glibcxx_constexpr_assert. + * include/debug/safe_base.h (_Safe_iterator_base): Add constexpr + to some member functions. Omit attaching, detaching and checking + operations during constant evaluation. + * include/debug/safe_container.h (_Safe_container): Likewise. + * include/debug/safe_iterator.h (_Safe_iterator): Likewise. + * include/debug/safe_iterator.tcc (__niter_base, __copy_move_a) + (__copy_move_backward_a, __fill_a, __fill_n_a, __equal_aux) + (__lexicographical_compare_aux): Add constexpr. + * include/debug/vector (_Safe_vector, vector): Add constexpr. + Omit safe iterator operations during constant evaluation. + * testsuite/23_containers/vector/bool/capacity/constexpr.cc: + Remove dg-xfail-if for debug mode. + * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/bool/cons/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/1.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/data_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: + Adjust dg-error line number. + +2023-12-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do + not round century down for %Y formats. + +2023-12-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__do_vformat_to): Handle char separately + from other integral types. + * testsuite/std/format/functions/format.cc: Check for expected + output for char and bool arguments. + * testsuite/std/format/string.cc: Check that 0 filling is + rejected for character and string formats. + +2023-12-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix + rounding for negative centuries. + * testsuite/std/time/year/io.cc: Check %C for negative years. + +2023-12-12 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/Makefile.am: Remove redundant -std=gnu++11 flags. + * src/c++11/Makefile.in: Regenerate. + +2023-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111826 + * include/bits/version.def (format): Update value. + * include/bits/version.h: Regenerate. + * testsuite/std/format/functions/format.cc: + +2023-12-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112876 + * include/std/ranges (ranges::to): Do not try to use an iterator + returned by the container's emplace or insert member functions. + * testsuite/std/ranges/conv/1.cc (Cont4::emplace, Cont4::insert): + Use the iterator parameter. Do not return an iterator. + +2023-12-07 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__detail::_ToClosure): Replace with ... + (__detail::_To): ... this. + (__detail::_ToClosure2): Replace with ... + (__detail::To2): ... this. + (to): Simplify using the existing _Partial range adaptor + closure object. + +2023-12-07 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (_Iter_sink<charT, contiguous_iterator>): + Remove uint64_t local type. + +2023-12-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_wait.h: Include <cstdint> instead of + <stdint.h>. + +2023-12-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112882 + * include/bits/c++config (__is_constant_evaluated): Add + always_inline attribute. + (_GLIBCXX_DO_ASSERT): Remove macro. + (__glibcxx_assert): Define separately for assertions-enabled and + constexpr-only cases. + +2023-12-07 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/112858 + * config/os/gnu-linux/os_defines.h + (_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define. + * libsupc++/atexit_thread.cc [__GXX_WEAK__ && + _GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL] + (__cxa_thread_atexit): Add dynamic detection of + __cxa_thread_atexit_impl. + +2023-12-06 Jason Merrill <jason@redhat.com> + + DR 532 + PR c++/53499 + * testsuite/23_containers/vector/ext_pointer/types/1.cc + * testsuite/23_containers/vector/ext_pointer/types/2.cc + (N::operator-): Make less specialized. + +2023-12-06 Alexandre Oliva <oliva@gnu.org> + + Revert: + 2023-12-02 Alexandre Oliva <oliva@adacore.com> + + * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic + detection of __cxa_thread_atexit_impl. + +2023-12-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111948 + * include/bits/ranges_util.h (subrange): Add constructor to + _Size to aoid setting member in constructor. + * testsuite/std/ranges/subrange/111948.cc: New test. + +2023-12-05 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (__detail::__container_insertable): Remove. + (__detail::__container_inserter): Remove. + (ranges::to): Use emplace_back or emplace, as per LWG 4016. + * testsuite/std/ranges/conv/1.cc (Cont4, test_2_1_4): Check for + use of emplace_back and emplace. + +2023-12-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (__glibcxx_assert_fail): Declare even + when assertions are not enabled. + (__glibcxx_constexpr_assert): Remove macro. + (__glibcxx_assert_impl): Remove macro. + (_GLIBCXX_ASSERT_FAIL): New macro. + (_GLIBCXX_DO_ASSERT): New macro. + (__glibcxx_assert): Simplify to a single definition that works + at runtime and during constant evaluation. + * testsuite/21_strings/basic_string_view/element_access/char/back_constexpr_neg.cc: + Adjust expected errors. + * testsuite/21_strings/basic_string_view/element_access/char/constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/char/front_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/back_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/front_constexpr_neg.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: + Likewise. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: + Likewise. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_neg.cc: Likewise. + * testsuite/26_numerics/lcm/105844.cc: Likewise. + +2023-12-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112832 + * include/std/format (formatter::set_debug_format): Ensure this + member is defined conditionally for all specializations. + * testsuite/std/format/formatter/112832.cc: New test. + +2023-12-05 Will Hawkins <hawkinsw@obs.cr> + Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: Add check + for LWG Issue 3897. + +2023-12-05 Marek Polacek <polacek@redhat.com> + + PR c++/107687 + PR c++/110997 + * testsuite/18_support/comparisons/categories/zero_neg.cc: Add + dg-prune-output. + * testsuite/std/format/string_neg.cc: Add dg-error. + +2023-12-02 Alexandre Oliva <oliva@adacore.com> + + * libsupc++/atexit_thread.cc [__GXX_WEAK__]: Add dynamic + detection of __cxa_thread_atexit_impl. + +2023-12-01 Jason Merrill <jason@redhat.com> + + * include/std/bit: Avoid builtins in requires-clauses. + * include/std/variant: Likewise. + +2023-12-01 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * configure: Regenerate. + +2023-11-30 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (__detail::__toable): Fix incorrect use of + _Range instead of _Cont. + (__detail::_ToClosure, __detail::_ToClosure2): Add missing + constexpr specifier on constructors. + * testsuite/std/ranges/conv/1.cc (_Cont, _Cont2, _Cont3): Remove + unnecessary begin() and end() members. + (test_constexpr): New function to check range adaptors are + usable in constant expressions. + +2023-11-29 Thomas Schwinge <thomas@codesourcery.com> + + * testsuite/23_containers/span/at.cc: Fix for '-fno-exceptions' + configurations. + +2023-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_wait.h: Include <stdint.h>. + +2023-11-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_uninitialized.h: Fix typo in comment. + +2023-11-24 Jan Hubicka <jh@suse.cz> + + PR middle-end/109849 + * include/bits/stl_uninitialized.h (__relocate_a_1): Use memcpy instead + of memmove. + +2023-11-23 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111055 + * include/bits/ranges_base.h (from_range_t): Define new tag + type. + (from_range): Define new tag object. + * include/bits/version.def (ranges_to_container): Define. + * include/bits/version.h: Regenerate. + * include/std/ranges (ranges::to): Define. + * testsuite/std/ranges/conv/1.cc: New test. + * testsuite/std/ranges/conv/2_neg.cc: New test. + * testsuite/std/ranges/conv/version.cc: New test. + +2023-11-23 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix + equality operator for heterogeneous comparisons. + +2023-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (freestanding_cstring): Add. + * include/bits/version.h: Regenerate. + * include/c_compatibility/string.h (strtok): Do not declare for + C++26 freestanding. + * include/c_global/cstring (strtok): Likewise. + * testsuite/21_strings/headers/cstring/version.cc: New test. + +2023-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (freestanding_algorithm) + (freestanding_array, freestanding_optional) + (freestanding_string_view, freestanding_variant): Add. + * include/bits/version.h: Regenerate. + * include/std/algorithm (__glibcxx_want_freestanding_algorithm): + Define. + * include/std/array (__glibcxx_want_freestanding_array): + Define. + * include/std/optional (__glibcxx_want_freestanding_optional): + Define. + * include/std/string_view + (__glibcxx_want_freestanding_string_view): Define. + * include/std/variant (__glibcxx_want_freestanding_variant): + Define. + * testsuite/20_util/optional/version.cc: Add checks for + __cpp_lib_freestanding_optional. + * testsuite/20_util/variant/version.cc: Add checks for + __cpp_lib_freestanding_variant. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error line numbers. + * testsuite/21_strings/basic_string_view/requirements/version.cc: + New test. + * testsuite/23_containers/array/requirements/version.cc: New + test. + * testsuite/25_algorithms/fill_n/requirements/version.cc: New + test. + * testsuite/25_algorithms/swap_ranges/requirements/version.cc: + New test. + +2023-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (freestanding_expected): New macro. + (span): Add C++26 value. + * include/bits/version.h: Regenerate. + * include/std/expected (__glibcxx_want_freestanding_expected): + Define. + * include/std/span (span::at): New member function. + * testsuite/20_util/expected/version.cc: Add checks for + __cpp_lib_freestanding_expected. + * testsuite/23_containers/span/2.cc: Moved to... + * testsuite/23_containers/span/version.cc: ...here. Add checks + for __cpp_lib_span in <span> as well as in <version>. + * testsuite/23_containers/span/1.cc: Removed. + * testsuite/23_containers/span/at.cc: New test. + +2023-11-21 Jonathan Wakely <jwakely@redhat.com> + + * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one + characters to _M_copy_from_string. + * testsuite/tr2/dynamic_bitset/string.cc: New test. + +2023-11-21 Jonathan Wakely <jwakely@redhat.com> + + * doc/html/*: Regenerate. + * doc/xml/faq.xml: Remove reference to buildstat.html pages. + * doc/xml/manual/test.xml: Likewise + +2023-11-21 Jan Hubicka <jh@suse.cz> + + PR libstdc++/110287 + PR middle-end/109811 + PR middle-end/109849 + * include/bits/stl_vector.h (_M_realloc_append): New member function. + (push_back): Use it. + * include/bits/vector.tcc: (emplace_back): Use it. + (_M_realloc_insert): Let compiler know that new vector size is non-zero. + (_M_realloc_append): New member function. + +2023-11-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112607 + * include/std/format (basic_format_arg::_S_to_arg_type): Check + value_type for basic_string_view and basic_string + specializations. + * testsuite/std/format/arguments/112607.cc: New test. + +2023-11-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110801 + * include/std/format (_Sink_iter::_M_reserve): New member + function. + (_Sink::_Reservation): New nested class. + (_Sink::_M_reserve, _Sink::_M_bump): New virtual functions. + (_Seq_sink::_M_reserve, _Seq_sink::_M_bump): New virtual + overrides. + (_Iter_sink<O, ContigIter>::_M_reserve): Likewise. + (__do_vformat_to): Use new functions to optimize "{}" case. + +2023-11-17 Jonathan Wakely <jwakely@redhat.com> + + * config.h.in: Regenerate. + +2023-11-17 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/version.def (saturation_arithmetic): Define. + * include/bits/version.h: Regenerate. + * include/std/numeric: Include new header. + * include/bits/sat_arith.h: New file. + * testsuite/26_numerics/saturation/add.cc: New test. + * testsuite/26_numerics/saturation/cast.cc: New test. + * testsuite/26_numerics/saturation/div.cc: New test. + * testsuite/26_numerics/saturation/mul.cc: New test. + * testsuite/26_numerics/saturation/sub.cc: New test. + * testsuite/26_numerics/saturation/version.cc: New test. + +2023-11-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/utility (in_range): Rename _Up parameter to _Res. + +2023-11-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/out_ptr.h: Add Doxygen comments. Remove a + redundant preprocessor condition. + * testsuite/20_util/smartptr.adapt/version.cc: New test. + +2023-11-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h: Fix Doxygen markup. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112564 + * include/std/stacktrace (formatter::format): Format according + to format-spec. + * include/std/thread (formatter::format): Use _Align_right as + default. + * testsuite/19_diagnostics/stacktrace/output.cc: Check + fill-and-align handling. Change compile test to run. + * testsuite/30_threads/thread/id/output.cc: Check fill-and-align + handling. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111667 + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/bits/out_ptr.h: New file. + * include/bits/shared_ptr.h (__is_shared_ptr): Move definition + to here ... + * include/bits/shared_ptr_atomic.h (__is_shared_ptr): ... from + here. + * include/bits/shared_ptr_base.h (__shared_count): Declare + out_ptr_t as a friend. + (_Sp_counted_deleter, __shared_ptr): Likewise. + * include/bits/unique_ptr.h (unique_ptr, unique_ptr<T[], D>): + Declare out_ptr_t and inout_ptr_t as friends. + (__is_unique_ptr): Define new variable template. + * include/bits/version.def (out_ptr): Define. + * include/bits/version.h: Regenerate. + * include/std/memory: Include new header. + * testsuite/20_util/smartptr.adapt/inout_ptr/1.cc: New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/2.cc: New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/shared_ptr_neg.cc: + New test. + * testsuite/20_util/smartptr.adapt/inout_ptr/void_ptr.cc: New + test. + * testsuite/20_util/smartptr.adapt/out_ptr/1.cc: New test. + * testsuite/20_util/smartptr.adapt/out_ptr/2.cc: New test. + * testsuite/20_util/smartptr.adapt/out_ptr/shared_ptr_neg.cc: + New test. + * testsuite/20_util/smartptr.adapt/out_ptr/void_ptr.cc: New + test. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/algorithmfwd.h: Do not define standard feature + test macro here. + * include/bits/align.h: Likewise. Test internal macros instead + of standard macros. + * include/bits/alloc_traits.h: Likewise. + * include/bits/allocator.h: Likewise. + * include/bits/atomic_base.h: Likewise. + * include/bits/atomic_timed_wait.h: Likewise. + * include/bits/atomic_wait.h: Likewise. + * include/bits/basic_string.h: Likewise. + * include/bits/basic_string.tcc: Likewise. + * include/bits/char_traits.h: Likewise. + * include/bits/chrono.h: Likewise. + * include/bits/cow_string.h: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/hashtable.h: Likewise. + * include/bits/ios_base.h: Likewise. + * include/bits/memory_resource.h: Likewise. + * include/bits/move.h: Likewise. + * include/bits/move_only_function.h: Likewise. + * include/bits/node_handle.h: Likewise. + * include/bits/ptr_traits.h: Likewise. + * include/bits/range_access.h: Likewise. + * include/bits/ranges_algo.h: Likewise. + * include/bits/ranges_cmp.h: Likewise. + * include/bits/ranges_util.h: Likewise. + * include/bits/semaphore_base.h: Likewise. + * include/bits/shared_ptr.h: Likewise. + * include/bits/shared_ptr_atomic.h: Likewise. + * include/bits/shared_ptr_base.h: Likewise. + * include/bits/stl_algo.h: Likewise. + * include/bits/stl_algobase.h: Likewise. + * include/bits/stl_function.h: Likewise. + * include/bits/stl_iterator.h: Likewise. + * include/bits/stl_list.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/stl_pair.h: Likewise. + * include/bits/stl_queue.h: Likewise. + * include/bits/stl_stack.h: Likewise. + * include/bits/stl_tree.h: Likewise. + * include/bits/stl_uninitialized.h: Likewise. + * include/bits/stl_vector.h: Likewise. + * include/bits/unique_ptr.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/uses_allocator_args.h: Likewise. + * include/bits/utility.h: Likewise. + * include/bits/erase_if.h: Add comment. + * include/std/algorithm: Define standard feature test macros + here. + * include/std/atomic: Likewise. + * include/std/array: Likewise. + * include/std/chrono: Likewise. + * include/std/condition_variable: Likewise. + * include/std/deque: Likewise. + * include/std/format: Likewise. + * include/std/functional: Likewise. + * include/std/forward_list: Likewise. + * include/std/ios: Likewise. + * include/std/iterator: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/memory: Likewise. + * include/std/numeric: Likewise. + * include/std/queue: Likewise. + * include/std/ranges: Likewise. + * include/std/regex: Likewise. + * include/std/set: Likewise. + * include/std/stack: Likewise. + * include/std/stop_token: Likewise. + * include/std/string: Likewise. + * include/std/string_view: + * include/std/tuple: Likewise. + * include/std/unordered_map: + * include/std/unordered_set: + * include/std/utility: Likewise. + * include/std/vector: Likewise. + * include/std/scoped_allocator: Query internal macros instead of + standard macros. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/byte/requirements.cc: Disable PCH. + * testsuite/18_support/destroying_delete.cc: Likewise. + * testsuite/18_support/source_location/1.cc: Likewise. + * testsuite/18_support/source_location/version.cc: Likewise. + * testsuite/18_support/type_info/constexpr.cc: Likewise. + * testsuite/18_support/uncaught_exceptions/uncaught_exceptions.cc: + Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. + * testsuite/20_util/addressof/requirements/constexpr.cc: + Likewise. + * testsuite/20_util/allocator_traits/header-2.cc: Likewise. + * testsuite/20_util/allocator_traits/header.cc: Likewise. + * testsuite/20_util/as_const/1.cc: Likewise. Likewise. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. + * testsuite/20_util/bitset/version.cc: Likewise. + * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: + Likewise. + * testsuite/20_util/duration_cast/rounding.cc: Likewise. + * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc: + Likewise. + * testsuite/20_util/exchange/constexpr.cc: Likewise. + * testsuite/20_util/expected/synopsis.cc: Likewise. + * testsuite/20_util/expected/version.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. + * testsuite/20_util/function_objects/invoke/3.cc: Likewise. + * testsuite/20_util/function_objects/invoke/4.cc: Likewise. + * testsuite/20_util/function_objects/invoke/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/invoke/version.cc: + Likewise. + * testsuite/20_util/function_objects/searchers.cc: Likewise. + * testsuite/20_util/integer_comparisons/1.cc: Likewise. + * testsuite/20_util/integer_comparisons/2.cc: Likewise. + * testsuite/20_util/is_bounded_array/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/version.cc: Likewise. + * testsuite/20_util/is_nothrow_swappable/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable/value.cc: Likewise. + * testsuite/20_util/is_nothrow_swappable/value.h: Likewise. + * testsuite/20_util/is_nothrow_swappable_with/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_swappable_with/value.cc: Disable + PCH. + * testsuite/20_util/is_pointer_interconvertible/value.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/version.cc: + Likewise. + * testsuite/20_util/is_scoped_enum/value.cc: Likewise. + * testsuite/20_util/is_scoped_enum/version.cc: Likewise. + * testsuite/20_util/is_swappable/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable/requirements/typedefs.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable/value.cc: Disable PCH. + * testsuite/20_util/is_swappable/value.h: Reorder headers. + * testsuite/20_util/is_swappable_with/requirements/explicit_instantiation.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable_with/requirements/typedefs.cc: + Remove redundant checks already tested elsewhere. + * testsuite/20_util/is_swappable_with/value.cc: Disable PCH. + * testsuite/20_util/is_unbounded_array/value.cc: Likewise. + * testsuite/20_util/move_only_function/cons.cc: Likewise. + * testsuite/20_util/move_only_function/version.cc: Likewise. + * testsuite/20_util/optional/monadic/and_then.cc: Likewise. + * testsuite/20_util/optional/requirements.cc: Likewise. + * testsuite/20_util/optional/version.cc: Likewise. + * testsuite/20_util/owner_less/void.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value.cc: Likewise. + * testsuite/20_util/reference_from_temporary/version.cc: + Likewise. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. + * testsuite/20_util/time_point_cast/rounding.cc: Likewise. + * testsuite/20_util/to_chars/constexpr.cc: Likewise. + * testsuite/20_util/to_chars/result.cc: Likewise. + * testsuite/20_util/to_chars/version.cc: Likewise. + * testsuite/20_util/to_underlying/1.cc: Likewise. + * testsuite/20_util/to_underlying/version.cc: Likewise. + * testsuite/20_util/tuple/apply/1.cc: Likewise. + * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: + Likewise. + * testsuite/20_util/tuple/make_from_tuple/1.cc: Likewise. + * testsuite/20_util/tuple/p2321r2.cc: Likewise. + * testsuite/20_util/tuple/tuple_element_t.cc: Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: + Likewise. + * testsuite/20_util/unreachable/1.cc: Likewise. + * testsuite/20_util/unreachable/version.cc: Likewise. + * testsuite/20_util/unwrap_reference/1.cc: Likewise. + * testsuite/20_util/unwrap_reference/3.cc: Likewise. + * testsuite/20_util/variant/constexpr.cc: Likewise. + * testsuite/20_util/variant/version.cc: Likewise. + * testsuite/20_util/variant/visit_inherited.cc: Likewise. + * testsuite/20_util/void_t/1.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/erasure.cc: Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/version.cc: + Likewise. + * testsuite/21_strings/basic_string/version.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++17.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/version.cc: + Likewise. + * testsuite/23_containers/array/comparison_operators/constexpr.cc: + Likewise. + * testsuite/23_containers/array/creation/1.cc: Likewise. + * testsuite/23_containers/array/creation/2.cc: Likewise. + * testsuite/23_containers/array/element_access/constexpr_c++17.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_fill.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_iter.cc: + Likewise. + * testsuite/23_containers/deque/erasure.cc: Likewise. + * testsuite/23_containers/forward_list/erasure.cc: Likewise. + * testsuite/23_containers/list/erasure.cc: Likewise. + * testsuite/23_containers/map/erasure.cc: Likewise. + * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/span/1.cc: Likewise. + * testsuite/23_containers/span/2.cc: Likewise. + * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/erasure.cc: Likewise. + * testsuite/23_containers/vector/requirements/version.cc: + Likewise. + * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. + * testsuite/25_algorithms/clamp/constexpr.cc: Likewise. + * testsuite/25_algorithms/clamp/requirements/explicit_instantiation/1.cc: + Remove redundant checks already tested elsewhere. + * testsuite/25_algorithms/constexpr_macro.cc: Likewise. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. + * testsuite/25_algorithms/fold_left/1.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-2.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise. + * testsuite/25_algorithms/pstl/feature_test.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. + * testsuite/26_numerics/bit/header-2.cc: Likewise. + * testsuite/26_numerics/bit/header.cc: Likewise. + * testsuite/26_numerics/complex/1.cc: Likewise. + * testsuite/26_numerics/complex/2.cc: Likewise. + * testsuite/26_numerics/endian/2.cc: Likewise. + * testsuite/26_numerics/endian/3.cc: Likewise. + * testsuite/26_numerics/gcd/1.cc: Likewise. + * testsuite/26_numerics/lcm/1.cc: Likewise. + * testsuite/26_numerics/lerp/1.cc: Likewise. + * testsuite/26_numerics/lerp/version.cc: Likewise. + * testsuite/26_numerics/midpoint/integral.cc: Likewise. + * testsuite/26_numerics/midpoint/version.cc: Likewise. + * testsuite/26_numerics/numbers/1.cc: Likewise. + * testsuite/26_numerics/numbers/2.cc: Likewise. + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: + Likewise. + * testsuite/27_io/basic_filebuf/native_handle/version.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: + Likewise. + * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: + Likewise. + * testsuite/27_io/basic_syncbuf/1.cc: Likewise. + * testsuite/27_io/basic_syncbuf/2.cc: Likewise. + * testsuite/27_io/basic_syncstream/1.cc: Likewise. + * testsuite/27_io/basic_syncstream/2.cc: Likewise. + * testsuite/27_io/spanstream/1.cc: Likewise. + * testsuite/27_io/spanstream/version.cc: Likewise. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. + * testsuite/30_threads/barrier/1.cc: Likewise. + * testsuite/30_threads/barrier/2.cc: Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/1.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/2.cc: + Likewise. + * testsuite/30_threads/jthread/1.cc: Likewise. + * testsuite/30_threads/jthread/version.cc: Likewise. + * testsuite/30_threads/latch/1.cc: Likewise. + * testsuite/30_threads/latch/2.cc: Likewise. + * testsuite/30_threads/scoped_lock/requirements/typedefs.cc: + Likewise. + * testsuite/30_threads/semaphore/1.cc: Likewise. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/stop_token/1.cc: Likewise. + * testsuite/30_threads/stop_token/2.cc: Likewise. + * testsuite/experimental/feat-char8_t.cc: Likewise. + * testsuite/experimental/iterator/ostream_joiner.cc: Likewise. + * testsuite/experimental/numeric/gcd.cc: Likewise. + * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. + * testsuite/std/concepts/1.cc: Likewise. + * testsuite/std/concepts/2.cc: Likewise. + * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Likewise. + * testsuite/experimental/feat-cxx14.cc: Likewise. Include + <algorithm> and <iterator>. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Adjust dg-error line numbers. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (stds): Use >= 202100 for C++23 + condition. + * include/bits/version.h: Regenerate. + * include/std/thread: Use > C++20 instead of >= C++23 for + __cplusplus condition. + +2023-11-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/istream (__rvalue_stream_extraction_t): Test + __cpp_concepts instead of __cpp_lib_concepts. + * include/std/ostream (__derived_from_ios_base): Likewise. + (__rvalue_stream_insertion_t): Likewise. + +2023-11-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112491 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): + Correctly handle unused capacity at the start of the first node. + * testsuite/libstdc++-xmethods/deque.cc: Check index operator + when elements have been removed from the front. + +2023-11-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/stacktrace (basic_stacktrace::at): Fix class name + in exception message. + * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if + current() returns a non-empty stacktrace. + +2023-11-15 Alexandre Oliva <oliva@gnu.org> + + Revert: + 2023-11-15 Alexandre Oliva <oliva@adacore.com> + + * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. + +2023-11-15 Alexandre Oliva <oliva@adacore.com> + + * include/bits/stl_bvector.h (_GLIBCXX_ALWAYS_INLINE): Undef. + +2023-11-14 Cassio Neri <cassio.neri@gmail.com> + + * include/std/chrono (operator-(const weekday&, const weekday&)): + Optimize. + +2023-11-14 Cassio Neri <cassio.neri@gmail.com> + + * include/std/chrono (weekday::_S_from_days): Fix UB. + * testsuite/std/time/weekday/1.cc: Add test for overflow. + +2023-11-14 Cassio Neri <cassio.neri@gmail.com> + + * include/std/chrono (year::is_leap): Clear code. + +2023-11-14 Cassio Neri <cassio.neri@gmail.com> + + * include/std/chrono (year_month_day_last::day): Remove &1. + +2023-11-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/charconv (__from_chars_pow2_base): Convert base to + unsigned for call to __countr_zero. + (__from_chars_alnum): Likewise for call to __bit_width. + +2023-11-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112348 + * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix + type of hash functio nfor entries. + * testsuite/19_diagnostics/stacktrace/hash.cc: New test. + +2023-11-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112491 + * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix + calculation to use _M_start._M_cur. + * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. + +2023-11-13 Arsen Arsenović <arsen@aarsen.me> + + * configure: Regenerate. + +2023-11-13 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/clock/file/io.cc: Double timeout using + dg-timeout-factor. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/local/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + +2023-11-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112480 + * include/std/optional (_Optional_payload_base::_M_reset): Set + _M_engaged to false unconditionally. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112467 + * include/bits/stl_bvector.h (_M_assume_normalized): Do not use + statement form of assume attribute for Clang. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/string_view (operator==, operator<=>): Remove + redundant overloads (LWG 3950). + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/headers/complex.h/std_c++11.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_c++11.cc: ...here. + * testsuite/26_numerics/headers/complex.h/std_c++98.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_c++98.cc: ...here. + Check macro first and then #undef. + * testsuite/26_numerics/headers/complex.h/std_gnu++11.h: Moved to... + * testsuite/26_numerics/headers/complex.h/std_gnu++11.cc: ...here. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112473 + * include/bits/utility.h (integer_sequence): Add static_assert. + * testsuite/20_util/integer_sequence/112473.cc: New test. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/pair/dangling_ref.cc: Add hosted effective + target for specifiers using c++17_down. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (atomic_is_lock_free) + (atomic_load_explicit, atomic_load, atomic_store_explicit) + (atomic_store, atomic_exchange_explicit, atomic_exchange) + (atomic_compare_exchange_strong, atomic_compare_exchange_weak) + (atomic_compare_exchange_strong_explicit) + (atomic_compare_exchange_weak_explicit): Add deprecated + attribute for C++20 and later. + * testsuite/20_util/shared_ptr/atomic/1.cc: Suppress deprecated + warnings. + * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise. + * testsuite/20_util/shared_ptr/atomic/3.cc: Likewise. + * testsuite/29_atomics/atomic/lwg3220.cc: Likewise. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_mutex.h (lock_guard): Add [[nodiscard]] + attribute to constructors. + * include/bits/unique_lock.h (unique_lock): Likewise. + * include/std/mutex (scoped_lock, scoped_lock<Mutex>): Likewise. + * testsuite/30_threads/lock_guard/cons/nodiscard.cc: New test. + * testsuite/30_threads/scoped_lock/cons/nodiscard.cc: New test. + * testsuite/30_threads/unique_lock/cons/nodiscard.cc: New test. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + * include/std/span (span, as_bytes, as_writable_bytes): Add + [[nodiscard]] attribute on all non-void functions. + * testsuite/23_containers/span/back_assert_neg.cc: Suppress + nodiscard warning. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_neg.cc: Likewise. + * testsuite/23_containers/span/front_assert_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_neg.cc: Likewise. + * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/last_assert_neg.cc: Likewise. + * testsuite/23_containers/span/last_neg.cc: Likewise. + * testsuite/23_containers/span/subspan_2_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_3_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_4_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_5_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_6_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. + * testsuite/23_containers/span/subspan_neg.cc: Likewise. + * testsuite/23_containers/span/nodiscard.cc: New test. + +2023-11-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111638 + * config.h.in: Regenerate. + * configure: Regenerate. + * linkage.m4 (GLIBCXX_MAYBE_UNDERSCORED_FUNCS): Remove. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_1): Do not check for _foo. + (GLIBCXX_CHECK_MATH_DECLS_AND_LINKAGES_1): Likewise. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_2): Likewise. + (GLIBCXX_CHECK_MATH_DECL_AND_LINKAGE_3): Likewise. + (GLIBCXX_CHECK_STDLIB_DECL_AND_LINKAGE_2): Do not use + GLIBCXX_MAYBE_UNDERSCORED_FUNCS. + +2023-11-11 Nathaniel Shead <nathanieloshead@gmail.com> + + PR libstdc++/79700 + * include/c_global/cmath (acosf, acosl, asinf, asinl, atanf) + (atanl, atan2f, atan2l, ceilf, ceill, cosf, cosl, coshf, coshl) + (expf, expl, fabsf, fabsl, floorf, floorl, fmodf, fmodl, frexpf) + (frexpl, ldexpf, ldexpl, logf, logl, log10f, log10l, modff) + (modfl, powf, powl, sinf, sinl, sinhf, sinhl, sqrtf, sqrtl, tanf) + (tanl, tanhf, tanhl): Add using-declarations in namespace std. + * testsuite/26_numerics/headers/cmath/equivalent_functions.cc: + New test. + * testsuite/26_numerics/headers/cmath/functions_std_c++17.cc: + Add checks for existence of above names. + +2023-11-09 Arsen Arsenović <arsen@aarsen.me> + + * testsuite/20_util/scoped_allocator/noexcept.cc: Mark as + requiring hosted. + +2023-11-09 Arsen Arsenović <arsen@aarsen.me> + + * include/bits/memoryfwd.h: Remove HOSTED check around allocator + and its specializations. + +2023-11-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/112453 + * include/std/ranges (__detail::__box<_Tp>::operator*): Define + && overloads as well. + (__detail::__take_of_repeat_view): Forward __r when accessing + its _M_value member. + (__detail::__drop_of_repeat_view): Likewise. + * testsuite/std/ranges/repeat/1.cc (test07): New test. + +2023-11-09 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h (_RehashStateGuard): New. + (_Insert_base<>::_M_insert_range(_IIt, _IIt, const _NodeGet&, false_type)): + Adapt. + * include/bits/hashtable.h (__rehash_guard_t): New. + (__rehash_state): Remove. + (_M_rehash): Remove. + (_M_rehash_aux): Rename into _M_rehash. + (_M_assign_elements, _M_insert_unique_node, _M_insert_multi_node): Adapt. + (rehash): Adapt. + +2023-11-09 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (struct _NodePtrGuard<_HashtableAlloc, _NodePtr>): New. + (_ReuseAllocNode::operator()(_Args&&...)): Use latter to guard allocated node + pointer while constructing in place the value_type instance. + +2023-11-09 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/110807 + * include/bits/stl_bvector.h (_Bit_iterator_base): Add + _M_assume_normalized member function. Call it in _M_bump_up, + _M_bump_down, _M_incr, operator==, operator<=>, operator<, and + operator-. + (_Bit_iterator): Also call it in operator*. + (_Bit_const_iterator): Likewise. + +2023-11-07 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (_Hashtable_alloc<>::_M_allocate_node): Add missing call to node destructor + on construct exception. + +2023-11-07 Richard Biener <rguenther@suse.de> + + PR libstdc++/112351 + * src/c++98/locale.cc (locale::facet::_S_initialize_once): + Check whether _S_c_locale is already initialized. + (locale::facet::_S_get_c_locale): Always perform non-threadsafe + init when threadsafe init failed. + +2023-11-06 Ian Lance Taylor <iant@golang.org> + + PR libbacktrace/111315 + PR libbacktrace/112263 + * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when + grepping link.h for dl_iterate_phdr. + * configure: Regenerate. + +2023-11-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::and_then, expected::or_else): + Add string literals to static assertions. + * include/std/optional (optional::and_then, optional::or_else): + Likewise. + +2023-11-04 Feng Jisen <J1senn@outlook.com> + + * include/bits/utility.h (_Nth_type): Remove redundant partial + specialization. + +2023-11-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110133 + * include/std/system_error (system_error::system_error): Group + arguments so that concatenation can reuse rvalue's capacity. + * src/c++11/system_error.cc (strerror_string): New function. + [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. + (generic_error_category::message): Use strerror_string. + (system_error_category::message): Likewise. + +2023-11-04 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/appendix_contributing.xml: Replace example that + uses a BADNAME. + * doc/html/manual/source_code_style.html: Regenerate. + +2023-11-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112314 + * include/std/string_view (string_view::remove_suffix): Add + debug assertion. + * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: + New test. + * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: + New test. + +2023-11-02 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. + * configure: Regenerate. + +2023-10-30 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Add comment on recently + added emul TLS symbols. + +2023-10-30 François Dumont <fdumont@gcc.gnu.org> + + * src/experimental/contract.cc + [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Rework comment. + Remove weak attribute. + +2023-10-29 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Add missing emul TLS + symbols. + +2023-10-29 François Dumont <fdumont@gcc.gnu.org> + + * src/experimental/contract.cc + [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol + without version namespace decoration for gcc. + +2023-10-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/112089 + * include/std/shared_mutex (shared_lock::unlock): Change errc + constant to operation_not_permitted. + * testsuite/30_threads/shared_lock/locking/112089.cc: New test. + +2023-10-26 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/io.cc: Double timeout using + dg-timeout-factor. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/format.cc: Likewise. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/month_day_last/io.cc: Likewise. + * testsuite/std/time/month_weekday/io.cc: Likewise. + * testsuite/std/time/month_weekday_last/io.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/io.cc: Likewise. + * testsuite/std/time/weekday_last/io.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/year_month_day_last/io.cc: Likewise. + * testsuite/std/time/year_month_weekday/io.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: Likewise. + +2023-10-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111936 + * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool + compile commands. + * src/libbacktrace/Makefile.in: Regenerate. + +2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com> + + * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to + freestanding. + * include/Makefile.in: Regenerate. + +2023-10-22 Iain Sandoe <iain@sandoe.co.uk> + + * configure: Regenerate. + * configure.ac: Handle Darwin rpaths. + * src/Makefile.am: Handle Darwin rpaths. + * src/Makefile.in: Regenerate. + +2023-10-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (_M_init_local_buf()): New + function. + (_M_use_local_data()): Use _M_init_local_buf. + (basic_string(), basic_string(const Alloc&)) + (basic_string(basic_string&&)) + (basic_string(basic_string&&, const Alloc&)): Use + _M_init_local_buf instead of _M_use_local_data(). + * include/bits/basic_string.tcc (swap(basic_string&)) + (_M_construct(InIter, InIter, input_iterator_tag)) + (_M_construct(InIter, InIter, forward_iterator_tag)) + (_M_construct(size_type, CharT), reserve()): Likewise. + +2023-10-21 Benjamin Brock <brock@cs.berkeley.edu> + + * include/std/ranges (zip_view, adjacent_view): Implement + workaround for LLVM-61763. + +2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com> + + * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() + +2023-10-21 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix + indentation. + +2023-10-20 Marek Polacek <polacek@redhat.com> + + PR testsuite/111883 + * include/std/charconv (from_chars): Add explicit casts. + +2023-10-19 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. + (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. + * include/bits/hashtable.h + (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. + (_M_merge_unique<>, _M_merge_multi<>): Use latter. + * testsuite/23_containers/unordered_map/modifiers/merge.cc + (test04, test05, test06): New test cases. + +2023-10-13 Jakub Jelinek <jakub@redhat.com> + + * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): + Initialize stream to va_arg(ap, FILE*) rather than 0. + * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): + Likewise. + +2023-10-13 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc, + testsuite/29_atomics/atomic_flag/clear/1.cc, + testsuite/29_atomics/atomic_flag/cons/value_init.cc, + testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, + testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, + testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, + testsuite/29_atomics/atomic_ref/generic.cc, + testsuite/29_atomics/atomic_ref/integral.cc, + testsuite/29_atomics/atomic_ref/pointer.cc: Replace + dg-require-thread-fence with dg-require-atomic-cmpxchg-word. + +2023-10-13 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): + New proc. + * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): + Ditto. + +2023-10-05 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Add missing symbols + for _Float{16,32,64,128,32x,64x,128x}. + +2023-10-04 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py + (StdExpAnyPrinter.__init__): Qualify call to + _string_types. + +2023-10-04 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py: Assume that + _versioned_namespace is non-None. + * python/libstdcxx/v6/xmethods.py (is_specialization_of): + Assume that _versioned_namespace is non-None. + +2023-10-04 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/xmethods.py (_versioned_namespace): + Define. + +2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com> + + PR libstdc++/108976 + * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of + surrogates in UTF-8. + (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. + (ucs4_in): Fix handling of range with odd number of bytes. + (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. + (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. + (ucs2_in): Fix handling of range with odd number of bytes. + (__codecvt_utf16_base<char16_t>::do_in): Likewise. + (__codecvt_utf16_base<char32_t>::do_in): Likewise. + (__codecvt_utf16_base<wchar_t>::do_in): Likewise. + * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add + tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>. + * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 + testing functions for char8_t, add more test cases for errors, + add testing functions for codecvt_utf16. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: + Renames, add tests for codecvt_utf16<whchar_t>. + * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): + Fix test. + * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New + test. + +2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com> + + * include/bits/basic_string.h: (basic_string(basic_string&&)): + Activate _M_local_buf when needed. + (basic_string(basic_string&&, const _Alloc&)): Likewise. + * include/bits/basic_string.tcc: (basic_string::swap): Likewise. + * include/std/variant: (__detail::__variant::__construct_n): New. + (__detail::__variant::__emplace): Use __construct_n. + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py (Printer.add_version) + (add_one_template_type_printer) + (FilteringTypePrinter.add_one_type_printer): Use Python + "not in" operator. + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): + Remove. + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py + (StdExpOptionalPrinter.__init__, lookup_node_type): + Remove unused variables. + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py: Don't import 'os'. + * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter + everywhere. Rename members to start with "_". + +2023-09-28 Tom Tromey <tromey@adacore.com> + + * testsuite/lib/gdb-test.exp (gdb-test): Enable Python + stack traces from gdb. + +2023-09-28 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define + new function. + (ArrayMethodsMatcher, DequeMethodsMatcher) + (ForwardListMethodsMatcher, ListMethodsMatcher) + (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) + (UniquePtrGetWorker, UniquePtrMethodsMatcher) + (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use + is_specialization_of instead of re.match. + +2023-09-28 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py: Break long lines. Use raw + strings for regular expressions. Add whitespace around + operators. + (is_member_of_namespace): Use isinstance to check type. + (is_specialization_of): Likewise. Adjust template_name + for versioned namespace instead of duplicating the re.match + call. + (StdExpAnyPrinter._string_types): New static method. + (StdExpAnyPrinter.to_string): Use _string_types. + +2023-09-28 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py: Format docstrings according + to PEP 257. + * python/libstdcxx/v6/xmethods.py: Likewise. + +2023-09-28 Tim Song <t.canens.cpp@gmail.com> + + PR libstdc++/111050 + * include/bits/hashtable_policy.h + (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) + Add [[__gnu__::__always_inline__]]. + +2023-09-27 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): + Fix incorrect number of replacement fields. + +2023-09-26 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Add + dg-require-thread-fence. + +2023-09-25 Patrick Palka <ppalka@redhat.com> + + * include/std/charconv (__detail::__integer_to_chars_result_type): + Remove. + (__detail::__to_chars_16): Use to_chars_result as return type. + (__detail::__to_chars_10): Likewise. + (__detail::__to_chars_8): Likewise. + (__detail::__to_chars_2): Likewise. + (__detail::__to_chars_i): Likewise. + (__detail::__integer_from_chars_result_type): Inline the + constraint into ... + (from_chars): ... here. Use __is_standard_integer in the + constraint. Encode constraint as a defaulted non-type template + parameter instead of within the return type. + +2023-09-25 John David Anglin <danglin@gcc.gnu.org> + + * config/abi/post/hppa-linux-gnu/baseline_symbols.txt: Update. + +2023-09-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111511 + PR c++/111512 + * include/std/array (to_array): Cast memcpy arguments to void*. + * testsuite/23_containers/array/creation/111512.cc: New test. + +2023-09-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/move.h (forward_list): Define for C++23. + * include/bits/version.def (forward_like): Define. + * include/bits/version.h: Regenerate. + * include/std/utility (__glibcxx_want_forward_like): Define. + * testsuite/20_util/forward_like/1.cc: New test. + * testsuite/20_util/forward_like/2_neg.cc: New test. + * testsuite/20_util/forward_like/version.cc: New test. + +2023-09-19 Marek Polacek <polacek@redhat.com> + + * testsuite/20_util/allocator/105975.cc: Add dg-error. + +2023-09-18 Patrick Palka <ppalka@redhat.com> + + PR c++/63198 + PR c++/18474 + * testsuite/26_numerics/random/discard_block_engine/cons/seed_seq2.cc: + Make data member seed_seq::called mutable. + * testsuite/26_numerics/random/independent_bits_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/linear_congruential_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/mersenne_twister_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/shuffle_order_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/26_numerics/random/subtract_with_carry_engine/cons/seed_seq2.cc: + Likewise. + * testsuite/ext/random/simd_fast_mersenne_twister_engine/cons/seed_seq2.cc: + Likewise. + +2023-09-18 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/status_cxx2020.xml: Tweak P1466R3 status. + * doc/html/manual/status.html: Regenerate. + +2023-09-18 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/configure.xml: Use conventional option name. + * doc/xml/manual/status_cxx2020.xml: Update. + * doc/xml/manual/status_cxx2023.xml: Update. + * doc/html/*: Regenerate. + +2023-09-18 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/intro.xml: Clarify that building libstdc++ + separately from GCC is not supported. + * doc/xml/manual/prerequisites.xml: Note msgfmt prerequisite for + testing. + * doc/html/manual/setup.html: Regenerate. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/29_atomics/atomic_ref/wait_notify.cc: Do not + restrict to pthreads targets. + * testsuite/30_threads/jthread/3.cc: Likewise. + * testsuite/30_threads/semaphore/100806.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire_for.cc: Likewise. + * testsuite/30_threads/semaphore/try_acquire_posix.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/coroutines/95917.cc: Remove dg-options + -std=gnu++2a. + * testsuite/18_support/coroutines/hash.cc: Likewise. + * testsuite/18_support/coroutines/lwg3460.cc: Likewise. + * testsuite/18_support/destroying_delete.cc: Likewise. + * testsuite/18_support/source_location/1.cc: Likewise. + * testsuite/18_support/source_location/consteval.cc: Likewise. + * testsuite/18_support/source_location/version.cc: Likewise. + * testsuite/19_diagnostics/error_category/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/error_code/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/error_condition/operators/three_way.cc: + Likewise. + * testsuite/19_diagnostics/stacktrace/output.cc: Likewise. + * testsuite/26_numerics/adjacent_difference/lwg2055.cc: + Likewise. + * testsuite/26_numerics/bit/bit.count/countl_zero.cc: Likewise. + * testsuite/26_numerics/bit/bit.count/countr_one.cc: Likewise. + * testsuite/26_numerics/bit/bit.count/countr_zero.cc: Likewise. + * testsuite/26_numerics/bit/bit.count/popcount.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_ceil.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/has_single_bit.cc: + Likewise. + * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc: + Likewise. + * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc: + Likewise. + * testsuite/28_regex/sub_match/compare_c++20.cc: Likewise. + * testsuite/experimental/filesystem/iterators/106201.cc: + Likewise. + * testsuite/experimental/scopeguard/exit.cc: Likewise. + * testsuite/experimental/scopeguard/uniqueres.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/30_threads/barrier/1.cc: Remove dg-options + -std=gnu++20. + * testsuite/30_threads/barrier/2.cc: Likewise. + * testsuite/30_threads/barrier/arrive.cc: Likewise. + * testsuite/30_threads/barrier/arrive_and_drop.cc: Likewise. + * testsuite/30_threads/barrier/arrive_and_wait.cc: Likewise. + * testsuite/30_threads/barrier/completion.cc: Likewise. + * testsuite/30_threads/condition_variable/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/1.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/2.cc: + Likewise. + * testsuite/30_threads/future/members/clock_neg.cc: Likewise. + * testsuite/30_threads/headers/stop_token/synopsis.cc: Likewise. + * testsuite/30_threads/headers/thread/types_std_c++20.cc: + Likewise. + * testsuite/30_threads/jthread/1.cc: Likewise. + * testsuite/30_threads/jthread/100612.cc: Likewise. + * testsuite/30_threads/jthread/95989.cc: Likewise. + * testsuite/30_threads/jthread/jthread.cc: Likewise. + * testsuite/30_threads/jthread/version.cc: Likewise. + * testsuite/30_threads/latch/1.cc: Likewise. + * testsuite/30_threads/latch/2.cc: Likewise. + * testsuite/30_threads/latch/3.cc: Likewise. + * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/semaphore/1.cc: Likewise. + * testsuite/30_threads/semaphore/2.cc: Likewise. + * testsuite/30_threads/semaphore/least_max_value_neg.cc: + Likewise. + * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise. + * testsuite/30_threads/shared_future/members/clock_neg.cc: + Likewise. + * testsuite/30_threads/shared_lock/locking/clock_neg.cc: + Likewise. + * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/stop_token/1.cc: Likewise. + * testsuite/30_threads/stop_token/2.cc: Likewise. + * testsuite/30_threads/stop_token/stop_callback.cc: Likewise. + * testsuite/30_threads/stop_token/stop_callback/deadlock.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/destructible_neg.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/invocable_neg.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/invoke.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_source.cc: Likewise. + * testsuite/30_threads/stop_token/stop_source/assign.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_token.cc: Likewise. + * testsuite/30_threads/stop_token/stop_token/stop_possible.cc: + Likewise. + * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. + * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc: + Likewise. + * testsuite/30_threads/unique_lock/locking/clock_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_istream/extractors_character/char/lwg2499.cc: + Remove dg-options -std=gnu++2a. + * testsuite/27_io/basic_istream/extractors_character/char/lwg2499_neg.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_character/wchar_t/lwg2499_neg.cc: + Likewise. + * testsuite/27_io/basic_istringstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_istringstream/cons/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_istringstream/str/char/2.cc: Likewise. + * testsuite/27_io/basic_istringstream/str/wchar_t/2.cc: + Likewise. + * testsuite/27_io/basic_istringstream/view/char/1.cc: Likewise. + * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_ostream/emit/1.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_character/char/deleted.cc: + Likewise. + * testsuite/27_io/basic_ostream/inserters_character/wchar_t/deleted.cc: + Likewise. + * testsuite/27_io/basic_ostringstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/cons/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_ostringstream/str/char/3.cc: Likewise. + * testsuite/27_io/basic_ostringstream/str/wchar_t/3.cc: + Likewise. + * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/cons/char/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/cons/wchar_t/2.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/char/4.cc: Likewise. + * testsuite/27_io/basic_stringbuf/str/wchar_t/4.cc: Likewise. + * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/cons/char/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/cons/char/97719.cc: + Likewise. + * testsuite/27_io/basic_stringstream/cons/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_stringstream/str/char/5.cc: Likewise. + * testsuite/27_io/basic_stringstream/str/wchar_t/5.cc.cc: + Likewise. + * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_syncbuf/1.cc: Likewise. + * testsuite/27_io/basic_syncbuf/2.cc: Likewise. + * testsuite/27_io/basic_syncbuf/basic_ops/1.cc: Likewise. + * testsuite/27_io/basic_syncbuf/requirements/types.cc: Likewise. + * testsuite/27_io/basic_syncbuf/sync_ops/1.cc: Likewise. + * testsuite/27_io/basic_syncstream/1.cc: Likewise. + * testsuite/27_io/basic_syncstream/2.cc: Likewise. + * testsuite/27_io/basic_syncstream/basic_ops/1.cc: Likewise. + * testsuite/27_io/basic_syncstream/requirements/types.cc: + Likewise. + * testsuite/27_io/filesystem/iterators/106201.cc: Likewise. + * testsuite/27_io/filesystem/iterators/lwg3719.cc: Likewise. + * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: + Likewise. + * testsuite/27_io/filesystem/path/nonmember/cmp_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/accumulate/constexpr.cc: Remove + dg-options -std=gnu++2a. + * testsuite/26_numerics/accumulate/lwg2055.cc: Likewise. + * testsuite/26_numerics/adjacent_difference/constexpr.cc: + Likewise. + * testsuite/26_numerics/bit/bit.cast/105027.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/bit_cast.cc: Likewise. + * testsuite/26_numerics/bit/bit.cast/version.cc: Likewise. + * testsuite/26_numerics/bit/bit.count/countl_one.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_ceil_neg.cc: + Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_floor.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/bit_width.cc: Likewise. + * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: Likewise. + * testsuite/26_numerics/bit/bit.rotate/rotl.cc: Likewise. + * testsuite/26_numerics/bit/bit.rotate/rotr.cc: Likewise. + * testsuite/26_numerics/bit/header-2.cc: Likewise. + * testsuite/26_numerics/bit/header.cc: Likewise. + * testsuite/26_numerics/complex/1.cc: Likewise. + * testsuite/26_numerics/complex/2.cc: Likewise. + * testsuite/26_numerics/complex/comparison_operators/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/operators/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/requirements/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/complex/value_operations/more_constexpr.cc: + Likewise. + * testsuite/26_numerics/endian/1.cc: Likewise. + * testsuite/26_numerics/endian/2.cc: Likewise. + * testsuite/26_numerics/endian/3.cc: Likewise. + * testsuite/26_numerics/exclusive_scan/constexpr.cc: Likewise. + * testsuite/26_numerics/inclusive_scan/constexpr.cc: Likewise. + * testsuite/26_numerics/inner_product/constexpr.cc: Likewise. + * testsuite/26_numerics/inner_product/lwg2055.cc: Likewise. + * testsuite/26_numerics/iota/constexpr.cc: Likewise. + * testsuite/26_numerics/lerp/1.cc: Likewise. + * testsuite/26_numerics/lerp/constexpr.cc: Likewise. + * testsuite/26_numerics/lerp/version.cc: Likewise. + * testsuite/26_numerics/midpoint/floating.cc: Likewise. + * testsuite/26_numerics/midpoint/integral.cc: Likewise. + * testsuite/26_numerics/midpoint/pointer.cc: Likewise. + * testsuite/26_numerics/midpoint/pointer_neg.cc: Likewise. + * testsuite/26_numerics/midpoint/version.cc: Likewise. + * testsuite/26_numerics/numbers/1.cc: Likewise. + * testsuite/26_numerics/numbers/2.cc: Likewise. + * testsuite/26_numerics/numbers/3.cc: Likewise. + * testsuite/26_numerics/numbers/float128.cc: Likewise. + * testsuite/26_numerics/numbers/nonfloat_neg.cc: Likewise. + * testsuite/26_numerics/partial_sum/constexpr.cc: Likewise. + * testsuite/26_numerics/partial_sum/lwg2055.cc: Likewise. + * testsuite/26_numerics/random/concept.cc: Likewise. + * testsuite/26_numerics/reduce/constexpr.cc: Likewise. + * testsuite/26_numerics/slice/compare.cc: Likewise. + * testsuite/26_numerics/transform_exclusive_scan/constexpr.cc: + Likewise. + * testsuite/26_numerics/transform_inclusive_scan/constexpr.cc: + Likewise. + * testsuite/26_numerics/transform_reduce/constexpr.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/24_iterators/aliases.cc: Remove dg-options + -std=gnu++2a. + * testsuite/24_iterators/associated_types/incrementable.traits.cc: + Likewise. + * testsuite/24_iterators/associated_types/iterator.traits.cc: + Likewise. + * testsuite/24_iterators/associated_types/readable.traits.cc: + Likewise. + * testsuite/24_iterators/back_insert_iterator/constexpr.cc: + Likewise. + * testsuite/24_iterators/back_insert_iterator/pr93884.cc: + Likewise. + * testsuite/24_iterators/bidirectional/concept.cc: Likewise. + * testsuite/24_iterators/common_iterator/1.cc: Likewise. + * testsuite/24_iterators/common_iterator/100823.cc: Likewise. + * testsuite/24_iterators/common_iterator/2.cc: Likewise. + * testsuite/24_iterators/contiguous/concept.cc: Likewise. + * testsuite/24_iterators/contiguous/tag.cc: Likewise. + * testsuite/24_iterators/counted_iterator/1.cc: Likewise. + * testsuite/24_iterators/counted_iterator/lwg3389.cc: Likewise. + * testsuite/24_iterators/counted_iterator/lwg3643.cc: Likewise. + * testsuite/24_iterators/customization_points/92894.cc: + Likewise. + * testsuite/24_iterators/customization_points/iter_move.cc: + Likewise. + * testsuite/24_iterators/customization_points/iter_swap.cc: + Likewise. + * testsuite/24_iterators/customization_points/lwg3420.cc: + Likewise. + * testsuite/24_iterators/forward/concept.cc: Likewise. + * testsuite/24_iterators/front_insert_iterator/constexpr.cc: + Likewise. + * testsuite/24_iterators/front_insert_iterator/pr93884.cc: + Likewise. + * testsuite/24_iterators/headers/iterator/synopsis_c++20.cc: + Likewise. + * testsuite/24_iterators/indirect_callable/92894.cc: Likewise. + * testsuite/24_iterators/indirect_callable/projected-adl.cc: + Likewise. + * testsuite/24_iterators/indirect_callable/projected.cc: + Likewise. + * testsuite/24_iterators/input/concept.cc: Likewise. + * testsuite/24_iterators/insert_iterator/constexpr.cc: Likewise. + * testsuite/24_iterators/istream_iterator/cons/sentinel.cc: + Likewise. + * testsuite/24_iterators/istream_iterator/sentinel.cc: Likewise. + * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc: + Likewise. + * testsuite/24_iterators/istreambuf_iterator/sentinel.cc: + Likewise. + * testsuite/24_iterators/move_iterator/cust.cc: Likewise. + * testsuite/24_iterators/move_iterator/dr3435.cc: Likewise. + * testsuite/24_iterators/move_iterator/input_iterator.cc: + Likewise. + * testsuite/24_iterators/move_iterator/lwg3390.cc: Likewise. + * testsuite/24_iterators/move_iterator/lwg3391.cc: Likewise. + * testsuite/24_iterators/move_iterator/move_only.cc: Likewise. + * testsuite/24_iterators/move_iterator/p2520r0.cc: Likewise. + * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: + Likewise. + * testsuite/24_iterators/move_iterator/sentinel.cc: Likewise. + * testsuite/24_iterators/normal_iterator/cmp_c++20.cc: Likewise. + * testsuite/24_iterators/output/concept.cc: Likewise. + * testsuite/24_iterators/random_access/concept.cc: Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20.cc: + Likewise. + * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc: + Likewise. + * testsuite/24_iterators/range_operations/100768.cc: Likewise. + * testsuite/24_iterators/range_operations/advance.cc: Likewise. + * testsuite/24_iterators/range_operations/advance_overflow.cc: + Likewise. + * testsuite/24_iterators/range_operations/distance.cc: Likewise. + * testsuite/24_iterators/range_operations/lwg3392.cc: Likewise. + * testsuite/24_iterators/range_operations/next.cc: Likewise. + * testsuite/24_iterators/range_operations/prev.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/cust.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/dr3435.cc: Likewise. + * testsuite/24_iterators/reverse_iterator/rel_ops_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/array/comparison_operators/96851.cc: + Remove dg-options -std=gnu++2a. + * testsuite/23_containers/array/comparison_operators/constexpr.cc: + Likewise. + * testsuite/23_containers/array/creation/1.cc: Likewise. + * testsuite/23_containers/array/creation/110167.cc: Likewise. + * testsuite/23_containers/array/creation/2.cc: Likewise. + * testsuite/23_containers/array/creation/3_neg.cc: Likewise. + * testsuite/23_containers/array/requirements/constexpr_fill.cc: + Likewise. + * testsuite/23_containers/array/requirements/constexpr_swap.cc: + Likewise. + * testsuite/23_containers/deque/48101-3_neg.cc: Likewise. + * testsuite/23_containers/deque/erasure.cc: Likewise. + * testsuite/23_containers/deque/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/deque/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/forward_list/48101-3_neg.cc: Likewise. + * testsuite/23_containers/forward_list/cmp_c++20.cc: Likewise. + * testsuite/23_containers/forward_list/erasure.cc: Likewise. + * testsuite/23_containers/forward_list/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/remove_cxx20_return.cc: + Likewise. + * testsuite/23_containers/forward_list/operations/unique_cxx20_return.cc: + Likewise. + * testsuite/23_containers/list/48101-3_neg.cc: Likewise. + * testsuite/23_containers/list/cmp_c++20.cc: Likewise. + * testsuite/23_containers/list/erasure.cc: Likewise. + * testsuite/23_containers/list/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/list/operations/remove_cxx20_return.cc: + Likewise. + * testsuite/23_containers/list/operations/unique_cxx20_return.cc: + Likewise. + * testsuite/23_containers/map/48101-3_neg.cc: Likewise. + * testsuite/23_containers/map/erasure.cc: Likewise. + * testsuite/23_containers/map/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/map/operations/contains.cc: Likewise. + * testsuite/23_containers/map/operators/cmp_c++20.cc: Likewise. + * testsuite/23_containers/multimap/48101-3_neg.cc: Likewise. + * testsuite/23_containers/multimap/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/multimap/operations/contains.cc: + Likewise. + * testsuite/23_containers/multimap/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/multiset/48101-3_neg.cc: Likewise. + * testsuite/23_containers/multiset/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/multiset/operations/contains.cc: + Likewise. + * testsuite/23_containers/multiset/operators/cmp_c++20.cc: + Likewise. + * testsuite/23_containers/priority_queue/92878_92947.cc: + Likewise. + * testsuite/23_containers/queue/92878_92947.cc: Likewise. + * testsuite/23_containers/queue/cmp_c++20.cc: Likewise. + * testsuite/23_containers/set/48101-3_neg.cc: Likewise. + * testsuite/23_containers/set/erasure.cc: Likewise. + * testsuite/23_containers/set/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/set/operations/contains.cc: Likewise. + * testsuite/23_containers/set/operators/cmp_c++20.cc: Likewise. + * testsuite/23_containers/span/1.cc: Likewise. + * testsuite/23_containers/span/101411.cc: Likewise. + * testsuite/23_containers/span/2.cc: Likewise. + * testsuite/23_containers/span/deduction.cc: Likewise. + * testsuite/23_containers/span/explicit.cc: Likewise. + * testsuite/23_containers/span/layout_compat.cc: Likewise. + * testsuite/23_containers/span/lwg3255.cc: Likewise. + * testsuite/23_containers/span/nothrow_cons.cc: Likewise. + * testsuite/23_containers/span/trivially_copyable.cc: Likewise. + * testsuite/23_containers/stack/92878_92947.cc: Likewise. + * testsuite/23_containers/stack/cmp_c++20.cc: Likewise. + * testsuite/23_containers/unordered_map/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_map/erasure.cc: Likewise. + * testsuite/23_containers/unordered_map/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_map/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_map/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/contains.cc: + Likewise. + * testsuite/23_containers/unordered_set/48101-3_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/erasure.cc: Likewise. + * testsuite/23_containers/unordered_set/modifiers/92878_92947.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/contains.cc: + Likewise. + * testsuite/23_containers/vector/48101-3_neg.cc: Likewise. + * testsuite/23_containers/vector/bool/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/bool/cons/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/iterator_c++20.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/bool/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/capacity/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/cmp_c++20.cc: Likewise. + * testsuite/23_containers/vector/cons/constexpr.cc: Likewise. + * testsuite/23_containers/vector/data_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/element_access/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/erasure.cc: Likewise. + * testsuite/23_containers/vector/modifiers/assign/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/emplace/92878_92947.cc: + Likewise. + * testsuite/23_containers/vector/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/23_containers/vector/requirements/version.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string/cons/char/105995.cc: Remove + dg-options -std=gnu++20. + * testsuite/21_strings/basic_string/cons/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/cons/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/erasure.cc: Likewise. + * testsuite/21_strings/basic_string/hash/hash_char8_t.cc: + Likewise. + * testsuite/21_strings/basic_string/literals/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/char/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string/operators/wchar_t/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/cons/char/range.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/copy/wchar_t/constexpr.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/char/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/operators/wchar_t/cmp_c++20.cc: + Likewise. + * testsuite/21_strings/basic_string_view/requirements/constexpr_iter.cc: + Likewise. + * testsuite/21_strings/char_traits/requirements/constexpr_functions_c++20.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/allocator/105975.cc: Remove dg-options + -std=gnu++2a. + * testsuite/20_util/allocator/rebind_c++20.cc: Likewise. + * testsuite/20_util/allocator/requirements/constexpr.cc: + Likewise. + * testsuite/20_util/allocator/requirements/typedefs_c++20.cc: + Likewise. + * testsuite/20_util/allocator_traits/header-2.cc: Likewise. + * testsuite/20_util/allocator_traits/header.cc: Likewise. + * testsuite/20_util/allocator_traits/members/92878_92947.cc: + Likewise. + * testsuite/20_util/any/assign/92878_92947.cc: Likewise. + * testsuite/20_util/any/cons/92878_92947.cc: Likewise. + * testsuite/20_util/assume_aligned/1.cc: Likewise. + * testsuite/20_util/assume_aligned/2_neg.cc: Likewise. + * testsuite/20_util/assume_aligned/3.cc: Likewise. + * testsuite/20_util/assume_aligned/97132.cc: Likewise. + * testsuite/20_util/bind/constexpr.cc: Likewise. + * testsuite/20_util/bitset/operations/96303.cc: Likewise. + * testsuite/20_util/common_reference/100894.cc: Likewise. + * testsuite/20_util/common_reference/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/common_reference/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/common_reference/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/duration/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/exchange/constexpr.cc: Likewise. + * testsuite/20_util/exchange/noexcept.cc: Likewise. + * testsuite/20_util/from_chars/1_c++20_neg.cc: Likewise. + * testsuite/20_util/from_chars/compare.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/1.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/107784.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/111327.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/2.cc: Likewise. + * testsuite/20_util/function_objects/bind_front/97101.cc: + Likewise. + * testsuite/20_util/function_objects/bind_front/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/constexpr_searcher.cc: + Likewise. + * testsuite/20_util/function_objects/identity/1.cc: Likewise. + * testsuite/20_util/function_objects/invoke/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/mem_fn/constexpr.cc: + Likewise. + * testsuite/20_util/function_objects/not_fn/constexpr.cc: + Likewise. + * testsuite/20_util/integer_comparisons/1.cc: Likewise. + * testsuite/20_util/integer_comparisons/2.cc: Likewise. + * testsuite/20_util/integer_comparisons/equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/equal_neg.cc: Likewise. + * testsuite/20_util/integer_comparisons/greater.cc: Likewise. + * testsuite/20_util/integer_comparisons/greater_equal.cc: + Likewise. + * testsuite/20_util/integer_comparisons/greater_equal_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/greater_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/in_range.cc: Likewise. + * testsuite/20_util/integer_comparisons/in_range_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/less.cc: Likewise. + * testsuite/20_util/integer_comparisons/less_equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/less_equal_neg.cc: + Likewise. + * testsuite/20_util/integer_comparisons/less_neg.cc: Likewise. + * testsuite/20_util/integer_comparisons/not_equal.cc: Likewise. + * testsuite/20_util/integer_comparisons/not_equal_neg.cc: + Likewise. + * testsuite/20_util/is_bounded_array/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_bounded_array/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_bounded_array/value.cc: Likewise. + * testsuite/20_util/is_constant_evaluated/1.cc: Likewise. + * testsuite/20_util/is_constant_evaluated/noexcept.cc: Likewise. + * testsuite/20_util/is_constructible/92878_92947.cc: Likewise. + * testsuite/20_util/is_layout_compatible/is_corresponding_member.cc: + Likewise. + * testsuite/20_util/is_layout_compatible/value.cc: Likewise. + * testsuite/20_util/is_layout_compatible/version.cc: Likewise. + * testsuite/20_util/is_nothrow_constructible/value_c++20.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_nothrow_convertible/value.cc: Likewise. + * testsuite/20_util/is_pod/deprecated-2a.cc: Likewise. + * testsuite/20_util/is_pointer_interconvertible/value.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/version.cc: + Likewise. + * testsuite/20_util/is_pointer_interconvertible/with_class.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/is_unbounded_array/value.cc: Likewise. + * testsuite/20_util/optional/assignment/92878_92947.cc: + Likewise. + * testsuite/20_util/optional/cons/92878_92947.cc: Likewise. + * testsuite/20_util/optional/constexpr/assign.cc: Likewise. + * testsuite/20_util/optional/constexpr/cons/conv.cc: Likewise. + * testsuite/20_util/optional/constexpr/modifiers.cc: Likewise. + * testsuite/20_util/optional/constexpr/swap.cc: Likewise. + * testsuite/20_util/optional/relops/96269.cc: Likewise. + * testsuite/20_util/optional/relops/three_way.cc: Likewise. + * testsuite/20_util/pair/comparison_operators/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/pair/cons/92878_92947.cc: Likewise. + * testsuite/20_util/pair/constexpr_assign.cc: Likewise. + * testsuite/20_util/pair/constexpr_swap.cc: Likewise. + * testsuite/20_util/pair/requirements/structural.cc: Likewise. + * testsuite/20_util/pointer_traits/pointer_to_constexpr.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/allocate_object.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/construct_c++2a.cc: + Likewise. + * testsuite/20_util/polymorphic_allocator/lwg3237.cc: Likewise. + * testsuite/20_util/reference_wrapper/constexpr.cc: Likewise. + * testsuite/20_util/reference_wrapper/incomplete.cc: Likewise. + * testsuite/20_util/remove_cvref/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/remove_cvref/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/remove_cvref/value.cc: Likewise. + * testsuite/20_util/scoped_allocator/construct_pair_c++2a.cc: + Likewise. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Likewise. + * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise. + * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc: + Likewise. + * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/shared_ptr/creation/array.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise. + * testsuite/20_util/shared_ptr/creation/version.cc: Likewise. + * testsuite/20_util/time_point/4.cc: Likewise. + * testsuite/20_util/time_point/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/to_address/1.cc: Likewise. + * testsuite/20_util/to_address/1_neg.cc: Likewise. + * testsuite/20_util/to_address/debug.cc: Likewise. + * testsuite/20_util/to_address/lwg3545.cc: Likewise. + * testsuite/20_util/to_chars/compare.cc: Likewise. + * testsuite/20_util/tuple/comparison_operators/three_way.cc: + Likewise. + * testsuite/20_util/tuple/cons/102270.cc: Likewise. + * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc: + Likewise. + * testsuite/20_util/tuple/constexpr_swap.cc: Likewise. + * testsuite/20_util/type_identity/requirements/alias_decl.cc: + Likewise. + * testsuite/20_util/type_identity/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/type_identity/requirements/typedefs.cc: + Likewise. + * testsuite/20_util/typeindex/comparison_operators_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/comparison/compare_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/92878_92947.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc: + Likewise. + * testsuite/20_util/unique_ptr/io/lwg2948.cc: Likewise. + * testsuite/20_util/unwrap_reference/1.cc: Likewise. + * testsuite/20_util/unwrap_reference/2.cc: Likewise. + * testsuite/20_util/unwrap_reference/3.cc: Likewise. + * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise. + * testsuite/20_util/uses_allocator/lwg3527.cc: Likewise. + * testsuite/20_util/uses_allocator/make_obj.cc: Likewise. + * testsuite/20_util/uses_allocator/uninitialized_construct.cc: + Likewise. + * testsuite/20_util/variant/92878_92947.cc: Likewise. + * testsuite/20_util/variant/95915.cc: Likewise. + * testsuite/20_util/variant/constexpr.cc: Likewise. + * testsuite/20_util/variant/relops/three_way.cc: Likewise. + * testsuite/20_util/variant/visit_neg.cc: Likewise. + * testsuite/20_util/variant/visit_r.cc: Likewise. + * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/comparisons/algorithms/fallback.cc: + Remove dg-options -std=gnu++2a. + * testsuite/18_support/comparisons/algorithms/partial_order.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/strong_order.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc: + Likewise. + * testsuite/18_support/comparisons/algorithms/weak_order.cc: + Likewise. + * testsuite/18_support/comparisons/categories/94565.cc: + Likewise. + * testsuite/18_support/comparisons/categories/partialord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/strongord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/weakord.cc: + Likewise. + * testsuite/18_support/comparisons/categories/zero_neg.cc: + Likewise. + * testsuite/18_support/comparisons/common/1.cc: Likewise. + * testsuite/18_support/comparisons/object/93479.cc: Likewise. + * testsuite/18_support/comparisons/object/lwg3530.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: + Remove dg-options -std=gnu++2a. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic/lock_free_aliases.cc: Likewise. + * testsuite/29_atomics/atomic/requirements/types_neg.cc: + Likewise. + * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/100334.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/bool.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/generic.cc: Likewise. + * testsuite/29_atomics/atomic/wait_notify/pointers.cc: Likewise. + * testsuite/29_atomics/atomic_flag/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_flag/test/explicit.cc: Likewise. + * testsuite/29_atomics/atomic_flag/test/implicit.cc: Likewise. + * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: Likewise. + * testsuite/29_atomics/atomic_float/1.cc: Likewise. + * testsuite/29_atomics/atomic_float/95282.cc: Likewise. + * testsuite/29_atomics/atomic_float/requirements.cc: Likewise. + * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_float/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/value_init.cc: + Likewise. + * testsuite/29_atomics/atomic_integral/wait_notify.cc: Likewise. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + Likewise. + * testsuite/29_atomics/atomic_ref/deduction.cc: Likewise. + * testsuite/29_atomics/atomic_ref/float.cc: Likewise. + * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. + * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. + * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. + * testsuite/29_atomics/atomic_ref/requirements.cc: Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++20.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++20_neg.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++2a.cc: + Likewise. + * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_filebuf/native_handle/wchar_t/1.cc: New test. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES): New + macro. + * config.h.in: Regenerate. + * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export new + basic_filebuf members. + * config/io/basic_file_stdio.cc (__basic_file::native_handle): + Define new function. + * config/io/basic_file_stdio.h (__basic_file::native_handle): + Declare new function. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_FILEBUF_NATIVE_HANDLES. + * include/bits/version.def (fstream_native_handles): New macro. + * include/bits/version.h: Regenerate. + * include/std/fstream (basic_filebuf::native_handle) + (basic_fstream::native_handle, basic_ifstream::native_handle) + (basic_ofstream::native_handle): New functions. + * src/c++11/Makefile.am: Move compilation of basic_file.cc, + locale_init.cc and localename.cc to here. + * src/c++11/Makefile.in: Regenerate. + * src/c++98/locale_init.cc: Moved to... + * src/c++11/locale_init.cc: ...here. + * src/c++98/localename.cc: Moved to... + * src/c++11/localename.cc: ...here. + * src/c++98/Makefile.am: Remove basic_file.cc, locale_init.cc + and localename.cc from here. + * src/c++98/Makefile.in: Regenerate. + * testsuite/27_io/basic_filebuf/native_handle/version.cc: New test. + * testsuite/27_io/basic_fstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_fstream/native_handle/wchar_t/1.cc: New test. + * testsuite/27_io/basic_ifstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_ifstream/native_handle/wchar_t/1.cc: New test. + * testsuite/27_io/basic_ofstream/native_handle/char/1.cc: New test. + * testsuite/27_io/basic_ofstream/native_handle/wchar_t/1.cc: New test. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/libstdc++-dg/conformance.exp: Add log line when + using testsuite_files. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/shared_ptr/atomic/3.cc: Simplify dg + directives. + * testsuite/20_util/shared_ptr/thread/default_weaktoshared.cc: + Likewise. + * testsuite/20_util/shared_ptr/thread/mutex_weaktoshared.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/allocate.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/allocate_single.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/cons.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/cons_single.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/is_equal.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/multithreaded.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/options.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/release.cc: + Likewise. + * testsuite/20_util/synchronized_pool_resource/release_single.cc: + Likewise. + * testsuite/30_threads/condition_variable_any/stop_token/wait_on.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/deadlock-mt.cc: + Likewise. + * testsuite/30_threads/stop_token/stop_callback/destroy.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/span/back_assert_neg.cc: Remove + dg-options and add effective target selector to dg-do. Add + no_pch. + * testsuite/23_containers/span/back_neg.cc: Likewise. + * testsuite/23_containers/span/cons_1_assert_neg.cc: Likewise. + * testsuite/23_containers/span/cons_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_assert_neg.cc: Likewise. + * testsuite/23_containers/span/first_neg.cc: Likewise. + * testsuite/23_containers/span/front_assert_neg.cc: Likewise. + * testsuite/23_containers/span/front_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. + * testsuite/23_containers/span/index_op_neg.cc: Likewise. + * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. + * testsuite/23_containers/span/last_assert_neg.cc: Likewise. + * testsuite/23_containers/span/last_neg.cc: Likewise. + * testsuite/23_containers/span/subspan_2_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_3_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_4_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_5_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_6_assert_neg.cc: + Likewise. + * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. + * testsuite/23_containers/span/subspan_neg.cc: Likewise. + * testsuite/24_iterators/range_operations/advance_debug_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/headers/limits/synopsis_cxx23.cc: Remove + dg-options. + * testsuite/18_support/headers/stdfloat/types_std.cc: Likewise. + * testsuite/18_support/type_info/constexpr.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/current.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/version.cc: Likewise. + * testsuite/20_util/aligned_storage/deprecated-2b.cc: Likewise. + * testsuite/20_util/aligned_union/deprecated-2b.cc: Likewise. + * testsuite/20_util/bitset/access/constexpr.cc: Likewise. + * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise. + * testsuite/20_util/bitset/count/constexpr.cc: Likewise. + * testsuite/20_util/bitset/ext/constexpr.cc: Likewise. + * testsuite/20_util/bitset/operations/constexpr_c++23.cc: + Likewise. + * testsuite/20_util/bitset/version.cc: Likewise. + * testsuite/20_util/from_chars/8.cc: Likewise. + * testsuite/20_util/from_chars/constexpr.cc: Likewise. + * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise. + * testsuite/20_util/function_objects/invoke/4.cc: Likewise. + * testsuite/20_util/function_objects/invoke/dangling_ref.cc: + Likewise. + * testsuite/20_util/is_scoped_enum/value.cc: Likewise. + * testsuite/20_util/is_scoped_enum/version.cc: Likewise. + * testsuite/20_util/move_only_function/call.cc: Likewise. + * testsuite/20_util/move_only_function/cons.cc: Likewise. + * testsuite/20_util/move_only_function/move.cc: Likewise. + * testsuite/20_util/move_only_function/version.cc: Likewise. + * testsuite/20_util/optional/monadic/and_then.cc: Likewise. + * testsuite/20_util/optional/monadic/or_else.cc: Likewise. + * testsuite/20_util/optional/monadic/or_else_neg.cc: Likewise. + * testsuite/20_util/optional/monadic/pr109242.cc: Likewise. + * testsuite/20_util/optional/monadic/transform.cc: Likewise. + * testsuite/20_util/pair/p2321r2.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value.cc: Likewise. + * testsuite/20_util/reference_from_temporary/value2.cc: + Likewise. + * testsuite/20_util/reference_from_temporary/version.cc: + Likewise. + * testsuite/20_util/to_chars/constexpr.cc: Likewise. + * testsuite/20_util/to_chars/float128_c++23.cc: Likewise. + * testsuite/20_util/to_chars/float16_c++23.cc: Likewise. + * testsuite/20_util/to_chars/version.cc: Likewise. + * testsuite/20_util/to_underlying/1.cc: Likewise. + * testsuite/20_util/to_underlying/version.cc: Likewise. + * testsuite/20_util/tuple/p2321r2.cc: Likewise. + * testsuite/20_util/unique_ptr/assign/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/comparison/constexpr.cc: + Likewise. + * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: + Likewise. + * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: Likewise. + * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc: Likewise. + * testsuite/20_util/unreachable/1.cc: Likewise. + * testsuite/20_util/unreachable/version.cc: Likewise. + * testsuite/20_util/uses_allocator/lwg3677.cc: Likewise. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: Likewise. + * testsuite/21_strings/basic_string/operations/contains/char.cc: + Likewise. + * testsuite/21_strings/basic_string/operations/contains/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: Likewise. + * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc: Likewise. + * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc: Likewise. + * testsuite/23_containers/queue/cons_from_iters.cc: Likewise. + * testsuite/23_containers/stack/cons_from_iters.cc: Likewise. + * testsuite/23_containers/vector/bool/element_access/1.cc: + Likewise. + * testsuite/24_iterators/const_iterator/1.cc: Likewise. + * testsuite/25_algorithms/contains/1.cc: Likewise. + * testsuite/25_algorithms/contains_subrange/1.cc: Likewise. + * testsuite/25_algorithms/find_last/1.cc: Likewise. + * testsuite/25_algorithms/find_last_if/1.cc: Likewise. + * testsuite/25_algorithms/find_last_if_not/1.cc: Likewise. + * testsuite/25_algorithms/fold_left/1.cc: Likewise. + * testsuite/25_algorithms/fold_right/1.cc: Likewise. + * testsuite/25_algorithms/iota/1.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/byteswap.cc: Likewise. + * testsuite/26_numerics/bit/bit.byteswap/version.cc: Likewise. + * testsuite/26_numerics/complex/ext_c++23.cc: Likewise. + * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc: Likewise. + * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: + Likewise. + * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: + Likewise. + * testsuite/26_numerics/numbers/4.cc: Likewise. + * testsuite/27_io/basic_ostream/inserters_other/char/volatile_ptr.cc: Likewise. + * testsuite/27_io/filesystem/path/native/conv_c++23.cc: + Likewise. + * testsuite/27_io/spanstream/1.cc: Likewise. + * testsuite/27_io/spanstream/2.cc: Likewise. + * testsuite/27_io/spanstream/version.cc: Likewise. + * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise. + * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc: + Likewise. + * testsuite/experimental/filesystem/path/native/conv_c++23.cc: + Likewise. + * testsuite/std/ranges/adaptors/adjacent/1.cc: Likewise. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: + Likewise. + * testsuite/std/ranges/adaptors/as_const/1.cc: Likewise. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/enumerate/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3715.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/range_adaptor_closure.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/ranges/zip_transform/1.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/expected/assign.cc: Remove dg-options. + * testsuite/20_util/expected/bad.cc: Likewise. + * testsuite/20_util/expected/cons.cc: Likewise. + * testsuite/20_util/expected/equality.cc: Likewise. + * testsuite/20_util/expected/illformed_neg.cc: Likewise. + * testsuite/20_util/expected/lwg3877.cc: Likewise. + * testsuite/20_util/expected/lwg3938.cc: Likewise. + * testsuite/20_util/expected/monadic.cc: Likewise. + * testsuite/20_util/expected/observers.cc: Likewise. + * testsuite/20_util/expected/requirements.cc: Likewise. + * testsuite/20_util/expected/swap.cc: Likewise. + * testsuite/20_util/expected/synopsis.cc: Likewise. + * testsuite/20_util/expected/unexpected.cc: Likewise. + * testsuite/20_util/expected/version.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: + Remove dg-options. + * testsuite/20_util/duration/io.cc: Likewise. + * testsuite/std/time/clock/file/io.cc: Likewise. + * testsuite/std/time/clock/file/members.cc: Likewise. + * testsuite/std/time/clock/file/overview.cc: Likewise. + * testsuite/std/time/clock/gps/1.cc: Likewise. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/local/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/1.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/1.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/clock/utc/leap_second_info.cc: Likewise. + * testsuite/std/time/day/1.cc: Likewise. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/exceptions.cc: Likewise. + * testsuite/std/time/format.cc: Likewise. + * testsuite/std/time/hh_mm_ss/1.cc: Likewise. + * testsuite/std/time/hh_mm_ss/109772.cc: Likewise. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + * testsuite/std/time/is_am/1.cc: Likewise. + * testsuite/std/time/is_pm/1.cc: Likewise. + * testsuite/std/time/make12/1.cc: Likewise. + * testsuite/std/time/make24/1.cc: Likewise. + * testsuite/std/time/month/1.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/1.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/month_day_last/1.cc: Likewise. + * testsuite/std/time/month_day_last/io.cc: Likewise. + * testsuite/std/time/month_weekday/1.cc: Likewise. + * testsuite/std/time/month_weekday/io.cc: Likewise. + * testsuite/std/time/month_weekday_last/1.cc: Likewise. + * testsuite/std/time/month_weekday_last/io.cc: Likewise. + * testsuite/std/time/parse.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Likewise. + * testsuite/std/time/time_zone/get_info_local.cc: Likewise. + * testsuite/std/time/time_zone/get_info_sys.cc: Likewise. + * testsuite/std/time/time_zone/requirements.cc: Likewise. + * testsuite/std/time/traits/is_clock.cc: Likewise. + * testsuite/std/time/tzdb/1.cc: Likewise. + * testsuite/std/time/tzdb/leap_seconds.cc: Likewise. + * testsuite/std/time/tzdb_list/1.cc: Likewise. + * testsuite/std/time/tzdb_list/requirements.cc: Likewise. + * testsuite/std/time/weekday/1.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/io.cc: Likewise. + * testsuite/std/time/weekday_last/1.cc: Likewise. + * testsuite/std/time/weekday_last/io.cc: Likewise. + * testsuite/std/time/year/1.cc: Likewise. + * testsuite/std/time/year/2.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/weekday_indexed/1.cc: Likewise. + * testsuite/std/time/year_month/1.cc: Likewise. + * testsuite/std/time/year_month/2.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/1.cc: Likewise. + * testsuite/std/time/year_month_day/2.cc: Likewise. + * testsuite/std/time/year_month_day/3.cc: Likewise. + * testsuite/std/time/year_month_day/4.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/year_month_day_last/1.cc: Likewise. + * testsuite/std/time/year_month_day_last/2.cc: Likewise. + * testsuite/std/time/year_month_day_last/io.cc: Likewise. + * testsuite/std/time/year_month_weekday/1.cc: Likewise. + * testsuite/std/time/year_month_weekday/2.cc: Likewise. + * testsuite/std/time/year_month_weekday/3.cc: Likewise. + * testsuite/std/time/year_month_weekday/io.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/1.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/2.cc: Likewise. + * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. + * testsuite/std/time/zoned_time/1.cc: Likewise. + * testsuite/std/time/zoned_time/custom.cc: Likewise. + * testsuite/std/time/zoned_time/deduction.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: Likewise. + * testsuite/std/time/zoned_time/req_neg.cc: Likewise. + * testsuite/std/time/zoned_time/requirements.cc: Likewise. + * testsuite/std/time/zoned_traits.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/format/arguments/args.cc: Remove dg-options. + * testsuite/std/format/arguments/lwg3810.cc: Likewise. + * testsuite/std/format/error.cc: Likewise. + * testsuite/std/format/format_string.cc: Likewise. + * testsuite/std/format/formatter/concept.cc: Likewise. + * testsuite/std/format/formatter/ext_float.cc: Likewise. + * testsuite/std/format/formatter/requirements.cc: Likewise. + * testsuite/std/format/functions/107871.cc: Likewise. + * testsuite/std/format/functions/format.cc: Likewise. + * testsuite/std/format/functions/format_to.cc: Likewise. + * testsuite/std/format/functions/format_to_n.cc: Likewise. + * testsuite/std/format/functions/size.cc: Likewise. + * testsuite/std/format/functions/vformat_to.cc: Likewise. + * testsuite/std/format/parse_ctx.cc: Likewise. + * testsuite/std/format/string.cc: Likewise. + * testsuite/std/format/string_neg.cc: Likewise. + * testsuite/std/format/functions/format_c++23.cc: Removed. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/function_objects/range.cmp/equal_to.cc: + Remove dg-options. + * testsuite/20_util/function_objects/range.cmp/greater.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/greater_equal.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/less.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/less_equal.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/lwg3530.cc: + Likewise. + * testsuite/20_util/function_objects/range.cmp/not_equal_to.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/1.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/92878_92947.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/construct_at/95788.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/destroy/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_default_construct/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/94017.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_fill_n/94017.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/uninitialized_value_construct/constrained.cc: + Likewise. + * testsuite/25_algorithms/adjacent_find/constexpr.cc: Likewise. + * testsuite/25_algorithms/adjacent_find/constrained.cc: + Likewise. + * testsuite/25_algorithms/all_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/all_of/constrained.cc: Likewise. + * testsuite/25_algorithms/any_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/any_of/constrained.cc: Likewise. + * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise. + * testsuite/25_algorithms/binary_search/constrained.cc: + Likewise. + * testsuite/25_algorithms/clamp/constrained.cc: Likewise. + * testsuite/25_algorithms/constexpr_macro.cc: Likewise. + * testsuite/25_algorithms/copy/95578.cc: Likewise. + * testsuite/25_algorithms/copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy/constrained.cc: Likewise. + * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Likewise. + * testsuite/25_algorithms/copy_backward/95578.cc: Likewise. + * testsuite/25_algorithms/copy_backward/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_backward/constrained.cc: + Likewise. + * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc: + Likewise. + * testsuite/25_algorithms/copy_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_if/constrained.cc: Likewise. + * testsuite/25_algorithms/copy_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/copy_n/constrained.cc: Likewise. + * testsuite/25_algorithms/count/constexpr.cc: Likewise. + * testsuite/25_algorithms/count/constrained.cc: Likewise. + * testsuite/25_algorithms/count_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/count_if/constrained.cc: Likewise. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Likewise. + * testsuite/25_algorithms/equal/95578.cc: Likewise. + * testsuite/25_algorithms/equal/constexpr.cc: Likewise. + * testsuite/25_algorithms/equal/constexpr_neg.cc: Likewise. + * testsuite/25_algorithms/equal/constrained.cc: Likewise. + * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: + Likewise. + * testsuite/25_algorithms/equal_range/constexpr.cc: Likewise. + * testsuite/25_algorithms/equal_range/constrained.cc: Likewise. + * testsuite/25_algorithms/fill/94017.cc: Likewise. + * testsuite/25_algorithms/fill/constexpr.cc: Likewise. + * testsuite/25_algorithms/fill/constrained.cc: Likewise. + * testsuite/25_algorithms/fill_n/94017.cc: Likewise. + * testsuite/25_algorithms/fill_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/fill_n/constrained.cc: Likewise. + * testsuite/25_algorithms/find/constexpr.cc: Likewise. + * testsuite/25_algorithms/find/constrained.cc: Likewise. + * testsuite/25_algorithms/find_end/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_end/constrained.cc: Likewise. + * testsuite/25_algorithms/find_first_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_first_of/constrained.cc: + Likewise. + * testsuite/25_algorithms/find_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_if/constrained.cc: Likewise. + * testsuite/25_algorithms/find_if_not/constexpr.cc: Likewise. + * testsuite/25_algorithms/find_if_not/constrained.cc: Likewise. + * testsuite/25_algorithms/for_each/constexpr.cc: Likewise. + * testsuite/25_algorithms/for_each/constrained.cc: Likewise. + * testsuite/25_algorithms/generate/constexpr.cc: Likewise. + * testsuite/25_algorithms/generate/constrained.cc: Likewise. + * testsuite/25_algorithms/generate_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/generate_n/constrained.cc: Likewise. + * testsuite/25_algorithms/heap/constrained.cc: Likewise. + * testsuite/25_algorithms/includes/constrained.cc: Likewise. + * testsuite/25_algorithms/inplace_merge/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_partitioned/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_partitioned/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_permutation/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/is_sorted/constexpr.cc: Likewise. + * testsuite/25_algorithms/is_sorted/constrained.cc: Likewise. + * testsuite/25_algorithms/is_sorted_until/constexpr.cc: + Likewise. + * testsuite/25_algorithms/is_sorted_until/constrained.cc: + Likewise. + * testsuite/25_algorithms/iter_swap/constexpr.cc: Likewise. + * testsuite/25_algorithms/lexicographical_compare/93972.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/95578.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare/constrained.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc: + Likewise. + * testsuite/25_algorithms/lexicographical_compare_three_way/constexpr.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/constexpr.cc: Likewise. + * testsuite/25_algorithms/lower_bound/constrained.cc: Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc: + Likewise. + * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc: + Likewise. + * testsuite/25_algorithms/make_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/max/constrained.cc: Likewise. + * testsuite/25_algorithms/max_element/constrained.cc: Likewise. + * testsuite/25_algorithms/merge/constexpr.cc: Likewise. + * testsuite/25_algorithms/merge/constrained.cc: Likewise. + * testsuite/25_algorithms/min/constrained.cc: Likewise. + * testsuite/25_algorithms/min_element/constrained.cc: Likewise. + * testsuite/25_algorithms/minmax/constrained.cc: Likewise. + * testsuite/25_algorithms/minmax_element/constrained.cc: + Likewise. + * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise. + * testsuite/25_algorithms/mismatch/constrained.cc: Likewise. + * testsuite/25_algorithms/move/93872.cc: Likewise. + * testsuite/25_algorithms/move/95578.cc: Likewise. + * testsuite/25_algorithms/move/constexpr.cc: Likewise. + * testsuite/25_algorithms/move/constrained.cc: Likewise. + * testsuite/25_algorithms/move_backward/93872.cc: Likewise. + * testsuite/25_algorithms/move_backward/95578.cc: Likewise. + * testsuite/25_algorithms/move_backward/constrained.cc: + Likewise. + * testsuite/25_algorithms/next_permutation/constexpr.cc: + Likewise. + * testsuite/25_algorithms/next_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/none_of/constexpr.cc: Likewise. + * testsuite/25_algorithms/none_of/constrained.cc: Likewise. + * testsuite/25_algorithms/nth_element/constexpr.cc: Likewise. + * testsuite/25_algorithms/nth_element/constrained.cc: Likewise. + * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/partial_sort/constrained.cc: Likewise. + * testsuite/25_algorithms/partial_sort_copy/constexpr.cc: + Likewise. + * testsuite/25_algorithms/partial_sort_copy/constrained.cc: + Likewise. + * testsuite/25_algorithms/partition/constexpr.cc: Likewise. + * testsuite/25_algorithms/partition/constrained.cc: Likewise. + * testsuite/25_algorithms/partition_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/partition_copy/constrained.cc: + Likewise. + * testsuite/25_algorithms/partition_point/constexpr.cc: + Likewise. + * testsuite/25_algorithms/partition_point/constrained.cc: + Likewise. + * testsuite/25_algorithms/pop_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/prev_permutation/constexpr.cc: + Likewise. + * testsuite/25_algorithms/prev_permutation/constrained.cc: + Likewise. + * testsuite/25_algorithms/push_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove/constrained.cc: Likewise. + * testsuite/25_algorithms/remove_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/remove_copy_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_copy_if/constrained.cc: + Likewise. + * testsuite/25_algorithms/remove_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/remove_if/constrained.cc: Likewise. + * testsuite/25_algorithms/replace/constrained.cc: Likewise. + * testsuite/25_algorithms/replace_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/replace_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/replace_copy_if/constexpr.cc: + Likewise. + * testsuite/25_algorithms/replace_copy_if/constrained.cc: + Likewise. + * testsuite/25_algorithms/replace_if/constexpr.cc: Likewise. + * testsuite/25_algorithms/replace_if/constrained.cc: Likewise. + * testsuite/25_algorithms/reverse/constexpr.cc: Likewise. + * testsuite/25_algorithms/reverse/constrained.cc: Likewise. + * testsuite/25_algorithms/reverse_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/reverse_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/rotate/constexpr.cc: Likewise. + * testsuite/25_algorithms/rotate/constrained.cc: Likewise. + * testsuite/25_algorithms/rotate_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/rotate_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/sample/constrained.cc: Likewise. + * testsuite/25_algorithms/search/constexpr.cc: Likewise. + * testsuite/25_algorithms/search/constrained.cc: Likewise. + * testsuite/25_algorithms/search_n/97828.cc: Likewise. + * testsuite/25_algorithms/search_n/constexpr.cc: Likewise. + * testsuite/25_algorithms/search_n/constrained.cc: Likewise. + * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_difference/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_intersection/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc: + Likewise. + * testsuite/25_algorithms/set_symmetric_difference/constrained.cc: + Likewise. + * testsuite/25_algorithms/set_union/constexpr.cc: Likewise. + * testsuite/25_algorithms/set_union/constrained.cc: Likewise. + * testsuite/25_algorithms/shift_left/1.cc: Likewise. + * testsuite/25_algorithms/shift_right/1.cc: Likewise. + * testsuite/25_algorithms/shuffle/constrained.cc: Likewise. + * testsuite/25_algorithms/sort/constexpr.cc: Likewise. + * testsuite/25_algorithms/sort/constrained.cc: Likewise. + * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise. + * testsuite/25_algorithms/stable_partition/constrained.cc: + Likewise. + * testsuite/25_algorithms/stable_sort/constrained.cc: Likewise. + * testsuite/25_algorithms/swap/constexpr.cc: Likewise. + * testsuite/25_algorithms/swap_ranges/constexpr.cc: Likewise. + * testsuite/25_algorithms/swap_ranges/constrained.cc: Likewise. + * testsuite/25_algorithms/transform/constexpr.cc: Likewise. + * testsuite/25_algorithms/transform/constrained.cc: Likewise. + * testsuite/25_algorithms/unique/constexpr.cc: Likewise. + * testsuite/25_algorithms/unique/constrained.cc: Likewise. + * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise. + * testsuite/25_algorithms/unique_copy/constrained.cc: Likewise. + * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise. + * testsuite/25_algorithms/upper_bound/constrained.cc: Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc: + Likewise. + * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/concepts/1.cc: Remove dg-options. + * testsuite/std/concepts/2.cc: Likewise. + * testsuite/std/concepts/concepts.callable/invocable.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/regular_invocable.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/relation.cc: + Likewise. + * testsuite/std/concepts/concepts.callable/strictweakorder.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/floating_point.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/signed_integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.arithmetic/unsigned_integral.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.common/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.constructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.convertible/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.defaultinitializable/lwg3149.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.derived/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.same/1.cc: + Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc: Likewise. + * testsuite/std/concepts/concepts.lang/concept.swappable/swappable_with.cc: Likewise. + * testsuite/std/concepts/concepts.object/copyable.cc: Likewise. + * testsuite/std/concepts/concepts.object/movable.cc: Likewise. + * testsuite/std/concepts/concepts.object/regular.cc: Likewise. + * testsuite/std/concepts/concepts.object/semiregular.cc: + Likewise. + * testsuite/std/ranges/97600.cc: Likewise. + * testsuite/std/ranges/access/101782.cc: Likewise. + * testsuite/std/ranges/access/begin.cc: Likewise. + * testsuite/std/ranges/access/begin_neg.cc: Likewise. + * testsuite/std/ranges/access/cbegin.cc: Likewise. + * testsuite/std/ranges/access/cdata.cc: Likewise. + * testsuite/std/ranges/access/cend.cc: Likewise. + * testsuite/std/ranges/access/crbegin.cc: Likewise. + * testsuite/std/ranges/access/crend.cc: Likewise. + * testsuite/std/ranges/access/data.cc: Likewise. + * testsuite/std/ranges/access/empty.cc: Likewise. + * testsuite/std/ranges/access/end.cc: Likewise. + * testsuite/std/ranges/access/end_neg.cc: Likewise. + * testsuite/std/ranges/access/lwg3467.cc: Likewise. + * testsuite/std/ranges/access/p2602.cc: Likewise. + * testsuite/std/ranges/access/rbegin.cc: Likewise. + * testsuite/std/ranges/access/rend.cc: Likewise. + * testsuite/std/ranges/access/size.cc: Likewise. + * testsuite/std/ranges/access/size_neg.cc: Likewise. + * testsuite/std/ranges/access/ssize.cc: Likewise. + * testsuite/std/ranges/adaptors/100479.cc: Likewise. + * testsuite/std/ranges/adaptors/100577.cc: Likewise. + * testsuite/std/ranges/adaptors/93978.cc: Likewise. + * testsuite/std/ranges/adaptors/95322.cc: Likewise. + * testsuite/std/ranges/adaptors/99433.cc: Likewise. + * testsuite/std/ranges/adaptors/all.cc: Likewise. + * testsuite/std/ranges/adaptors/common.cc: Likewise. + * testsuite/std/ranges/adaptors/conditionally_borrowed.cc: + Likewise. + * testsuite/std/ranges/adaptors/counted.cc: Likewise. + * testsuite/std/ranges/adaptors/detail/copyable_box.cc: + Likewise. + * testsuite/std/ranges/adaptors/drop.cc: Likewise. + * testsuite/std/ranges/adaptors/drop_while.cc: Likewise. + * testsuite/std/ranges/adaptors/elements.cc: Likewise. + * testsuite/std/ranges/adaptors/filter.cc: Likewise. + * testsuite/std/ranges/adaptors/join.cc: Likewise. + * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise. + * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3286.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3313_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3325_neg.cc: Likewise. + * testsuite/std/ranges/adaptors/lwg3406.cc: Likewise. + * testsuite/std/ranges/adaptors/p1739.cc: Likewise. + * testsuite/std/ranges/adaptors/p2281.cc: Likewise. + * testsuite/std/ranges/adaptors/p2770r0.cc: Likewise. + * testsuite/std/ranges/adaptors/reverse.cc: Likewise. + * testsuite/std/ranges/adaptors/sizeof.cc: Likewise. + * testsuite/std/ranges/adaptors/split.cc: Likewise. + * testsuite/std/ranges/adaptors/take.cc: Likewise. + * testsuite/std/ranges/adaptors/take_while.cc: Likewise. + * testsuite/std/ranges/adaptors/transform.cc: Likewise. + * testsuite/std/ranges/empty_view.cc: Likewise. + * testsuite/std/ranges/headers/ranges/synopsis.cc: Likewise. + * testsuite/std/ranges/iota/difference_type.cc: Likewise. + * testsuite/std/ranges/iota/iota_view.cc: Likewise. + * testsuite/std/ranges/iota/iterator.cc: Likewise. + * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise. + * testsuite/std/ranges/iota/max_size_type.cc: Likewise. + * testsuite/std/ranges/istream_view.cc: Likewise. + * testsuite/std/ranges/p2259.cc: Likewise. + * testsuite/std/ranges/p2325.cc: Likewise. + * testsuite/std/ranges/p2367.cc: Likewise. + * testsuite/std/ranges/range.cc: Likewise. + * testsuite/std/ranges/refinements.cc: Likewise. + * testsuite/std/ranges/safe_range.cc: Likewise. + * testsuite/std/ranges/safe_range_types.cc: Likewise. + * testsuite/std/ranges/single_view.cc: Likewise. + * testsuite/std/ranges/sized.cc: Likewise. + * testsuite/std/ranges/subrange/1.cc: Likewise. + * testsuite/std/ranges/subrange/97512.cc: Likewise. + * testsuite/std/ranges/subrange/constexpr.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3282_neg.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3286.cc: Likewise. + * testsuite/std/ranges/subrange/lwg3433.cc: Likewise. + * testsuite/std/ranges/subrange/sizeof.cc: Likewise. + * testsuite/std/ranges/subrange/tuple_like.cc: Likewise. + * testsuite/std/ranges/view.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc: + Remove dg-options. + * testsuite/23_containers/span/contiguous_range_neg.cc: + Likewise. + * testsuite/23_containers/span/everything.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/24_iterators/reverse_iterator/100639.cc: Remove + dg-options and add dg-add-options strict_std. + * testsuite/std/ranges/iota/93267.cc: Likewise. + * testsuite/std/ranges/iota/96042.cc: Likewise. + * testsuite/std/ranges/iota/size.cc: Likewise. + * testsuite/std/ranges/subrange/96042.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/tr1/5_numerical_facilities/special_functions/07_conf_hyperg/compile_cxx17.cc: + Replace dg-options -std=c++17 with dg-add-options strict_std. + * testsuite/tr1/5_numerical_facilities/special_functions/17_hyperg/compile_cxx17.cc: + Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/deque/48101-2_neg.cc: Replace + dg-options with target selector. + * testsuite/23_containers/forward_list/48101-2_neg.cc: Likewise. + * testsuite/23_containers/list/48101-2_neg.cc: Likewise. + * testsuite/23_containers/map/48101-2_neg.cc: Likewise. + * testsuite/23_containers/map/48101_neg.cc: Likewise. + * testsuite/23_containers/multimap/48101-2_neg.cc: Likewise. + * testsuite/23_containers/multimap/48101_neg.cc: Likewise. + * testsuite/23_containers/multiset/48101-2_neg.cc: Likewise. + * testsuite/23_containers/set/48101-2_neg.cc: Likewise. + * testsuite/23_containers/unordered_map/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multimap/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/unordered_set/48101-2_neg.cc: + Likewise. + * testsuite/23_containers/vector/48101-2_neg.cc: Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/test.xml: Update documentation on running and + writing tests. + * doc/html/manual/test.html: Regenerate. + * testsuite/Makefile.am: Add v3-use-std-list to site.tmp + * testsuite/Makefile.in: Regenerate. + * testsuite/lib/dg-options.exp (add_options_for_strict_std): New + proc. + * testsuite/lib/libstdc++.exp (search_for): New utility proc. + (v3-dg-runtest): New proc to replace dg-runtest. + * testsuite/libstdc++-dg/conformance.exp: Use v3-dg-runtest. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: + Fix test to work for C++23 and C++26 too. + +2023-09-15 Patrick Palka <ppalka@redhat.com> + + * include/std/bit: Include <concepts>. + (byteswap): Use a type-constraint instead of enable_if_t + inside the return type, and use std::integral. + (_If_is_unsigned_integer): Replace with ... + (__unsigned_integer): ... this. + (rotl): Use a type-constraint instead of enable_if_t inside + the return type. + (countl_zero): Likewise. + (countl_one): Likewise. + (countr_zero): Likewise. + (countr_one): Likewise. + (popcount): Likewise. + (has_single_bit): Likewise. + (bit_ceil): Likewise. + (bit_floor): Likewise. + (bit_width): Likewise. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (variant): Remove derivation from + _Enable_default_constructor base class. + (variant::variant()): Constrain. + * testsuite/20_util/variant/default_ctor.cc: New test. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111172 + * include/std/variant (get<T>): Remove !is_void static + assertions. + +2023-09-15 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (to_chars): Define new value for + C++26. + * include/bits/version.h: Regenerate. + * include/std/charconv (to_chars_result::operator bool): New + function. + (from_chars_result::operator bool): New function. + * testsuite/20_util/to_chars/version.cc: Update expected value. + * testsuite/20_util/from_chars/result.cc: New test. + * testsuite/20_util/to_chars/result.cc: New test. + +2023-09-14 Jonathan Wakely <jwakely@redhat.com> + + PR c++/111357 + * testsuite/20_util/integer_sequence/pr111357.cc: New test. + +2023-09-14 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/basic_filebuf/seekoff/char/1-io.cc: Use + dg-additional-files. Remove @require@ and @diff@ comments. + * testsuite/27_io/basic_filebuf/seekoff/char/2-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/1-io.cc: Likewise. + * testsuite/27_io/basic_filebuf/seekpos/char/2-io.cc: Likewise. + * testsuite/lib/dg-options.exp (v3_additional_files): New + global variable. + (dg-additional-files): New proc. + * testsuite/lib/libstdc++.exp (v3_target_compile): Copy + additional files to test directory. + +2023-09-14 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/io_context (io_context) [!_GLIBCXX_HAS_GTHREADS]: + Use a plain integer for _M_work_count for single-threaded + targets. + * include/experimental/memory_resource (__get_default_resource) + [!_GLIBCXX_HAS_GTHREADS]: Use unsynchronized type for + single-threaded targets. + * src/c++17/default_resource.h: Adjust preprocessor conditions + to match memory_resource.cc. + * src/c++17/memory_resource.cc [!_GLIBCXX_HAS_GTHREADS] + (atomic_mem_res): Use unsynchronized type for single-threaded + targets. + +2023-09-14 Christophe Lyon <christophe.lyon@linaro.org> + + * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. + * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. + * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. + * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. + * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. + +2023-09-14 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add + { dg-require-normal-namespace "" }. + +2023-09-13 François Dumont <fdumont@gcc.gnu.org> + + * include/std/format (std::__format::_Arg_store): Explicit version + namespace on make_format_args friend declaration. + +2023-09-12 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/111327 + * include/std/functional (_GLIBCXX_NOT_FN_CALL_OP): Also define + a deleted fallback operator() overload. Constrain both the + enabled and deleted overloads accordingly. + * testsuite/20_util/function_objects/not_fn/111327.cc: New test. + +2023-09-12 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/111327 + * include/std/functional (_Bind_front::operator()): Add deleted + fallback overloads for each const/ref qualifier pair. Give the + enabled overloads dummy constraints to make each one more + specialized than the corresponding deleted overload. + * testsuite/20_util/function_objects/bind_front/111327.cc: New test. + +2023-09-12 Patrick Palka <ppalka@redhat.com> + + * include/std/functional (_Bind_front0): Remove. + (_Bind_front_t): Adjust. + +2023-09-12 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py: Reformat. + * python/libstdcxx/v6/xmethods.py: Likewise. + +2023-09-11 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New + function. + (reset_sequence_ptr): New function. + (_Safe_iterator_base::_M_detach) + (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load + with acquire_sequence_ptr_for_lock. + (_Safe_iterator_base::_M_reset): Replace bare atomic_store with + reset_sequence_ptr. + +2023-09-11 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/Makefile.am: Add new file. + * src/c++11/Makefile.in: Regenerate. + * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... + * src/c++11/assert_fail.cc: New file. + +2023-09-11 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/bits/c++config (_GLIBCXX_HAS_BUILTIN): Do not undef. + (_GLIBCXX_USE_BUILTIN_TRAIT): Define. + +2023-09-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (__cpp_lib_formatters): Define. + * include/bits/version.h: Regenerate. + * include/std/stacktrace (formatter<stacktrace_entry>) + (formatter<basic_stacktrace<Alloc>>): Define. + * include/std/thread (formatter<thread::id, charT>): Define. + * testsuite/19_diagnostics/stacktrace/output.cc: New test. + * testsuite/19_diagnostics/stacktrace/synopsis.cc: Add + std::formatter specializations. + * testsuite/19_diagnostics/stacktrace/version.cc: Check + __cpp_lib_formatters macro. + * testsuite/30_threads/thread/id/hash.cc: Remove gthreads + dependency. + * testsuite/30_threads/thread/id/operators.cc: Likewise. + * testsuite/30_threads/thread/id/operators_c++20.cc: Likewise. + * testsuite/30_threads/thread/id/output.cc: New test. + +2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi> + + * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. + * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. + * src/filesystem/path.cc (path::_S_convert_loc): Likewise. + +2023-09-08 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++23 directory. + * configure: Regenerate. + * doc/html/manual/*: Regenerate. + * doc/xml/manual/using.xml: Update documentation on linking. + * include/std/stacktrace: Remove declarations of libbacktrace + APIs. + (stacktrace_entry::_S_err_handler, stacktrace_entry::_S_init): + Remove. + (stacktrace_entry::_Info): New class. + (stacktrace_entry::_M_get_info): Use _Info. + (__stacktrace_impl): New class. + (basic_stacktrace): Derive from __stacktrace_impl. + (basic_stacktrace::current): Use __stacktrace_impl::_S_current. + * scripts/testsuite_flags.in: Adjust LDFLAGS to find + libstdc++exp instead of libstdc++_libbacktrace. + * src/Makefile.am (SUBDIRS): Add c++23 directory. + * src/Makefile.in: Regenerate. + * src/c++20/Makefile.am: Fix comment. + * src/c++20/Makefile.in: Regenerate. + * src/c++23/Makefile.am: New file. + * src/c++23/Makefile.in: New file. + * src/c++23/stacktrace.cc: New file with definitions of + stacktrace_entry::_Info and __stacktrace_impl members. + * src/experimental/Makefile.am: Use LIBADD to include other + libraries. + * src/experimental/Makefile.in: Regenerate. + * src/libbacktrace/Makefile.am: Use noinst_LTLIBRARIES. + * src/libbacktrace/Makefile.in: Regenerate. + * testsuite/19_diagnostics/stacktrace/current.cc: Adjust + dg-options to use -lstdc++exp. + * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. + * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. + * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: + Likewise. + +2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com> + + * src/libbacktrace/Makefile.am: Remove -Werror. + * src/libbacktrace/Makefile.in: Regenerate. + +2023-09-08 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/Makefile.am (check-DEJAGNU): Use @ in recipe. + * testsuite/Makefile.in: Regenerate. + +2023-09-08 Yang Yujie <yangyujie@loongson.cn> + + * configure.host: Register t-loongarch in tmake_file. + * config/cpu/loongarch/t-loongarch: New file. Manually refresh + MULTISUBDIR with $(shell $(CXX) --print-multi-directory). + +2023-09-07 Bruno Victal <mirai@makinata.eu> + + * acinclude.m4: Update docbook xsl URI. + * configure: Regenerate. + +2023-09-07 Bruno Victal <mirai@makinata.eu> + + * doc/Makefile.am: Fix 'doc-install-info' rule. + Fix typo in commment. + * doc/Makefile.in: Regenerate. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/path/concat/94063.cc: Simplify + dg-do target selector. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/config/default.exp: Remove trailing whitespace. + * testsuite/lib/dg-options.exp: Likewise. + * testsuite/lib/prune.exp: Likewise. + * testsuite/libstdc++-abi/abi.exp: Likewise. + * testsuite/libstdc++-dg/conformance.exp: Likewise. + * testsuite/libstdc++-prettyprinters/prettyprinters.exp: + Likewise. + * testsuite/libstdc++-xmethods/xmethods.exp: Likewise. + * testsuite/lib/libstdc++.exp: Likewise. + (check_v3_target_c_std): Fix filename for temporary source file. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, + chmod, chdir, and getcwd. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. + (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. + (fs::permissions): Use USE_CHMOD macro. + * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] + (chmod, mkdir, getcwd, chdir): Define new macros. + [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use + new macros. + * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. + (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. + (fs::permissions): Use USE_CHMOD macro. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default + for avr. + * configure: Regenerate. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/unordered_map/operations/1.cc: Add + dg-options for C++20 mode. + * testsuite/23_containers/unordered_multimap/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_multiset/operations/1.cc: + Likewise. + * testsuite/23_containers/unordered_set/operations/1.cc: + Likewise. + * testsuite/std/time/parse.cc: Move dg-options before dg-do. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/ranges/access/cbegin.cc: Adjust for C++23 + compatibility. + * testsuite/std/ranges/access/cdata.cc: Likewise. + * testsuite/std/ranges/access/cend.cc: Likewise. + * testsuite/std/ranges/access/crbegin.cc: Likewise. + * testsuite/std/ranges/access/crend.cc: Likewise. + * testsuite/std/ranges/adaptors/take.cc: Likewise. + * testsuite/std/ranges/adaptors/take_while.cc: Likewise. + * testsuite/std/ranges/adaptors/transform.cc: Likewise. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/iterator_concepts.h (__imove::iter_move): Define + poison pill as deleted for consistency. + (__access::begin): Replace with a single declaration. + * include/bits/ranges_base.h (__access::end, __access::rbegin) + (__access::rend, __access::size): Likewise. + * include/bits/version.def (ranges): Update value for C++23. + * include/bits/version.h: Regenerate. + * libsupc++/compare (__compare): Add missing poison pill + overloads. + * testsuite/std/ranges/version_c++23.cc: Adjust expected value + of __cpp_lib_ranges. + * testsuite/std/ranges/access/p2602.cc: New test. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/iterator_concepts.h (ranges::__cust_imove): + Rename to ranges::__imove. + (_IMove): Rename to _IterMove. + (ranges::__cust_iswap): Rename to ranges::__iswap. + (ranges::__cust): Rename to ranges::_Cpo. + (ranges::__cust_access): Rename to ranges::__access. + * include/bits/ranges_base.h (ranges::__cust_access): Rename to + ranges::__access. + (ranges::__cust): Rename to ranges::_Cpo. + * include/std/concepts (ranges::__cust_swap): Rename to + ranges::__swap. + (ranges::__cust): Rename to ranges::_Cpo. + * libsupc++/compare (__cmp_cust): Rename to __compare. + (__cmp_algo): Rename to _Cpo. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (ranges): Update value. + * include/bits/version.h: Regenerate. + * include/std/ranges (__detail::__boxable): Use + move_constructible instead of copy_constructible for C++23. + (__detail::__box<T>): Adjust constraints for partial + specialization. + (single_view, transform_view): Use __box_constructible instead + of copy_constructible in constraints. + (zip_transform_view, adjacent_transform_view, repeat_view): Use + move_constructible instead of copy_constructible in constraints. + * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: Check + construction from move-only argument. + * testsuite/std/ranges/adaptors/transform.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/single_view.cc: Likewise. + * testsuite/std/ranges/zip_transform/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: Adjust expected value + of __cpp_lib_ranges. + +2023-09-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_iterators.h (is_customization_point_object): + Remove parameter name. + +2023-09-06 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Disable by default + for freestanding. + * configure: Regenerate. + +2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> + + Revert + 2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> + + PR libstdc++/111238 + * configure: Regenerate. + * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, + non-Canadian builds. + +2023-09-04 Christophe Lyon <christophe.lyon@linaro.org> + + PR libstdc++/111238 + * configure: Regenerate. + * configure.ac: Call GLIBCXX_CHECK_LINKER_FEATURES in cross, + non-Canadian builds. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/complex/literals/types.cc: Remove + dg-options and add target selector instead. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/tr1/6_containers/utility/pair.cc: Remove dg-options + and qualify ambiguous calls to get. + * testsuite/tr1/8_c_compatibility/cmath/pow_cmath.cc: Adjust + expected result for std::pow(float, int) as per DR 550. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/auto_ptr/1.cc: Remove dg-options -std=c++03 + and add dg-warning for deprecation warnings. + * testsuite/20_util/auto_ptr/2.cc: Likewise. + * testsuite/20_util/auto_ptr/3.cc: Likewise. + * testsuite/20_util/auto_ptr/3946.cc: Likewise. + * testsuite/20_util/auto_ptr/4.cc: Likewise. + * testsuite/20_util/auto_ptr/5.cc: Likewise. + * testsuite/20_util/auto_ptr/6.cc: Likewise. + * testsuite/20_util/auto_ptr/7.cc: Likewise. + * testsuite/20_util/auto_ptr/assign_neg.cc: Likewise. + * testsuite/20_util/auto_ptr/requirements/explicit_instantiation/1.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/assign/auto_ptr_rvalue_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/43820_neg.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr.cc: + Likewise. + * testsuite/tr1/2_general_utilities/shared_ptr/cons/auto_ptr_neg.cc: + Likewise. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/26142 + * testsuite/23_containers/vector/26412-1.cc: Moved to... + * testsuite/23_containers/vector/26142-1.cc: ...here. + * testsuite/23_containers/vector/26412-2.cc: Moved to... + * testsuite/23_containers/vector/26142-2.cc: ...here. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/bitset/107037.cc: Add c++98_only selector. + * testsuite/26_numerics/complex/56111.cc: Likewise. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/deque/requirements/explicit_instantiation/2.cc: + Add dg-options to restrict the test to C++98 mode. + * testsuite/23_containers/list/requirements/explicit_instantiation/2.cc: + Likewise. + +2023-09-04 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/expected/bad.cc: Add missing target + selector. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust + expected errors. + * testsuite/25_algorithms/equal/debug/constexpr_neg.cc: + Likewise. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/iterators/91067.cc: Add + -Wno-self-move to options. + * testsuite/27_io/filesystem/path/assign/copy.cc: Likewise. + +2023-09-01 Vladimir Palevich <palevichva@gmail.com> + + PR libstdc++/110879 + * include/bits/vector.tcc (_M_realloc_insert): End guard + lifetime just before assignment to class members. + (_M_default_append): Likewise. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fs_ops.cc (fs::absolute) [FILESYSTEM_IS_WINDOWS]: + Use __resize_and_overwrite to fill buffer. + (fs::read_symlink) [HAVE_READLINK]: Likewise. + * src/filesystem/ops-common.h (get_temp_directory_from_env) + [FILESYSTEM_IS_WINDOWS]: Likewise. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111077 + * include/bits/atomic_base.h (__atomic_impl::__compare_exchange): + Add _AtomicRef non-type template parameter and use a loop if it + is true. + (__atomic_impl::compare_exchange_weak): Add _AtomicRef NTTP. + (__atomic_impl::compare_exchange_strong): Likewise. + (atomic_ref::compare_exchange_weak): Use true for NTTP. + (atomic_ref::compare_exchange_strong): Use true for NTTP. + * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: + Fix test to not rely on atomic_ref::load() to return an object + with padding preserved. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for + filesystem support. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros + for POSIX readlink before using filesystem::read_symlink. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Default to yes. + * configure: Regenerate. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (_Parser::operator()): Set failbit + early if invalid values are read when _M_need & _TimeOfDay is + non-zero. + * testsuite/std/time/parse.cc: Check that "25:59" cannot be + parsed for "%H:%M". + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/111162 + * include/bits/chrono_io.h (_Parser::Operator()): Check %C + values are in range of year::min() to year::max(). + * testsuite/std/time/parse.cc: Check out of range centuries. + +2023-09-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Sink::_M_reset): Change second + argument from iterator to offset. + +2023-08-24 Paul Dreik <gccpatches@pauldreik.se> + + PR libstdc++/111102 + * testsuite/std/format/string.cc: Check wide character format + strings with out-of-range widths. + +2023-08-24 Paul Dreik <gccpatches@pauldreik.se> + + PR libstdc++/111102 + * include/std/format (__format::__parse_integer): Check for + non-null pointer. + +2023-08-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/format/functions/format_to.cc: Avoid warning for + unused variables. + +2023-08-24 Jonathan Wakely <jwakely@redhat.com> + + * include/std/atomic: Add comment to #ifdef and fix indentation. + * include/std/ostream: Check __glibcxx_syncbuf instead of + __cplusplus and _GLIBCXX_HOSTED. + * include/std/thread: Add comment to #ifdef. + +2023-08-24 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (__cpp_lib_ratio): Define. + * include/bits/version.h: Regenerate. + * include/std/ratio (quecto, ronto, yocto, zepto) + (zetta, yotta, ronna, quetta): Define. + * testsuite/20_util/ratio/operations/ops_overflow_neg.cc: Adjust + dg-error line numbers. + +2023-08-24 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdLocalePrinter): New + printer class. + * testsuite/libstdc++-prettyprinters/locale.cc: New test. + +2023-08-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110944 + * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do + not show template arguments. + (StdVariantPrinter): Likewise. + * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected + output. + * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. + * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. + +2023-08-23 François Dumont <fdumont@gcc.gnu.org> + + * testsuite/util/replacement_memory_operators.h + (counter::scope): New, capture and reset counter count at construction and + restore it at destruction. + (counter::check_new): Add scope instantiation. + * testsuite/23_containers/unordered_map/96088.cc (main): + Add counter::scope instantiation. + * testsuite/23_containers/unordered_multimap/96088.cc (main): Likewise. + * testsuite/23_containers/unordered_multiset/96088.cc (main): Likewise. + * testsuite/23_containers/unordered_set/96088.cc (main): Likewise. + * testsuite/ext/malloc_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/new_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/throw_allocator/deallocate_local.cc (main): Likewise. + * testsuite/ext/pool_allocator/allocate_chunk.cc (started): New global. + (operator new(size_t)): Check started. + (main): Set/Unset started. + * testsuite/17_intro/no_library_allocation.cc: New test case. + +2023-08-21 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: + Call std::set_terminate before throwing the nested exception. + +2023-08-18 Jonathan Wakely <jwakely@redhat.com> + + PR target/111060 + * include/std/format (formatter): Only define specializations + for 16-bit floating-point types for C++23. + * include/std/limits (numeric_limits): Likewise. + +2023-08-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (operator<<): Make uses of wide + strings with streams and std::format type-dependent on _CharT. + * include/std/format [!_GLIBCXX_USE_WCHAR_T] Do not use + __to_wstring_numeric. + +2023-08-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (operator<<): Use __format_context. + * include/std/format (__format::__format_context): New alias + template. + [!_GLIBCXX_USE_WCHAR_T] (wformat_args, make_wformat_arg): + Disable. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + Revert: + 2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * config/locale/generic/c_locale.cc (__convert_to_v): Reuse + double overload for long double if possible. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to + std::string_view. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * config/locale/generic/c_locale.cc (__convert_to_v): Reuse + double overload for long double if possible. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * src/c++98/localename.cc (is_C_locale): New function. + (locale::locale(const char*)): Use is_C_locale. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110945 + * include/bits/basic_string.h (basic_string::assign(Iter, Iter)): + Dispatch to _M_replace or move assignment from a temporary, + based on the iterator type. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (formatter): Add partial specializations + for extended floating-point types. + * testsuite/std/format/functions/format.cc: Move test_float128() + to ... + * testsuite/std/format/formatter/ext_float.cc: New test. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config (__gnu_cxx::__bfloat16_t): Define + whenever __BFLT16_DIG__ is defined, not only for C++23. + * include/std/limits (numeric_limits<bfloat16_t>): Likewise. + (numeric_limits<_Float16>, numeric_limits<_Float32>) + (numeric_limits<_Float64>): Likewise for other extended + floating-point types. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (address_v4::to_string): Remove + unused parameter name. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. + * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune + excess errors caused by invalid consteval calls. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__units_suffix_misc): Remove. + (__units_suffix): Return a known suffix as string view, do not + write unknown suffixes to a buffer. + (__fmt_units_suffix): New function that formats the suffix using + std::format_to. + (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. + (__chrono_formatter::_M_Z): Correct lifetime of wstring. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format [_GLIBCXX_USE_WCHAR_T]: Guard all wide + string formatters with this macro. + (__formatter_int::_M_format_int, __formatter_fp::format) + (formatter<const void*, C>::format): Use __to_wstring_numeric + instead of std::ctype::widen. + (__formatter_fp::_M_localize): Use hardcoded wchar_t values + instead of std::ctype::widen. + * testsuite/std/format/functions/format.cc: Add more checks for + wstring formatting of arithmetic types. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (to_string(floating-point-type)): + Implement using std::to_chars for C++26. + * include/bits/version.def (__cpp_lib_to_string): Define. + * include/bits/version.h: Regenerate. + * testsuite/21_strings/basic_string/numeric_conversions/char/dr1261.cc: + Adjust expected result in C++26 mode. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/dr1261.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_float.cc: + New test. + * testsuite/21_strings/basic_string/numeric_conversions/wchar_t/to_wstring_float.cc: + New test. + * testsuite/21_strings/basic_string/numeric_conversions/version.cc: + New test. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (to_string(integral-type)): Use + resize_and_overwrite when available. + (__to_wstring_numeric): New helper functions. + (to_wstring): Use std::to_string then __to_wstring_numeric. + * testsuite/21_strings/basic_string/numeric_conversions/char/to_string_int.cc: + Remove check for no excess capacity. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (__resize_and_overwrite): New + function. + * include/bits/basic_string.tcc (__resize_and_overwrite): New + function. + (resize_and_overwrite): Simplify by using reserve instead of + growing the string manually. Adjust for C++11 compatibility. + * include/bits/cow_string.h (resize_and_overwrite): New + function. + (__resize_and_overwrite): New function. + * include/bits/version.def (__cpp_lib_string_resize_and_overwrite): + Do not depend on cxx11abi. + * include/bits/version.h: Regenerate. + * include/std/format (__formatter_fp::_S_resize_and_overwrite): + Remove. + (__formatter_fp::format, __formatter_fp::_M_localize): Use + __resize_and_overwrite instead of _S_resize_and_overwrite. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Adjust for C++11 compatibility when included by ... + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite_ext.cc: + New test. + +2023-08-17 Patrick Palka <ppalka@redhat.com> + + * include/bits/regex.h (regex_iterator::iterator_concept): + Define for C++20 as per P2770R0. + (regex_token_iterator::iterator_concept): Likewise. + * include/std/ranges (__detail::__as_lvalue): Define. + (join_view::_Iterator): Befriend join_view. + (join_view::_Iterator::_M_satisfy): Use _M_get_outer + instead of _M_outer. + (join_view::_Iterator::_M_get_outer): Define. + (join_view::_Iterator::_Iterator): Split constructor taking + _Parent argument into two as per P2770R0. Remove constraint on + default constructor. + (join_view::_Iterator::_M_outer): Make this data member present + only when the underlying range is forward. + (join_view::_Iterator::operator++): Use _M_get_outer instead of + _M_outer. + (join_view::_Iterator::operator--): Use __as_lvalue helper. + (join_view::_Iterator::operator==): Adjust constraints as per + P2770R0. + (join_view::_Sentinel::__equal): Use _M_get_outer instead of + _M_outer. + (join_view::_M_outer): New data member when the underlying range + is non-forward. + (join_view::begin): Adjust definition as per P2770R0. + (join_view::end): Likewise. + (join_with_view::_M_outer_it): New data member when the + underlying range is non-forward. + (join_with_view::begin): Adjust definition as per P2770R0. + (join_with_view::end): Likewise. + (join_with_view::_Iterator::_M_outer_it): Make this data member + present only when the underlying range is forward. + (join_with_view::_Iterator::_M_get_outer): Define. + (join_with_view::_Iterator::_Iterator): Split constructor + taking _Parent argument into two as per P2770R0. Remove + constraint on default constructor. + (join_with_view::_Iterator::_M_update_inner): Adjust definition + as per P2770R0. + (join_with_view::_Iterator::_M_get_inner): Likewise. + (join_with_view::_Iterator::_M_satisfy): Adjust calls to + _M_get_inner. Use _M_get_outer instead of _M_outer_it. + (join_with_view::_Iterator::operator==): Adjust constraints + as per P2770R0. + (join_with_view::_Sentinel::operator==): Use _M_get_outer + instead of _M_outer_it. + * testsuite/std/ranges/adaptors/p2770r0.cc: New test. + +2023-08-17 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108827 + * include/std/ranges (__adaptor::_RangeAdaptorClosure): + Convert into a CRTP class template. Move hidden operator| + friends into namespace scope and adjust their constraints. + (__closure::__is_range_adaptor_closure_fn): Define. + (__closure::__is_range_adaptor_closure): Define. + (__adaptor::_Partial): Adjust use of _RangeAdaptorClosure. + (__adaptor::_Pipe): Likewise. + (views::_All): Likewise. + (views::_Join): Likewise. + (views::_Common): Likewise. + (views::_Reverse): Likewise. + (views::_Elements): Likewise. + (views::_Adjacent): Likewise. + (views::_AsRvalue): Likewise. + (views::_Enumerate): Likewise. + (views::_AsConst): Likewise. + * testsuite/std/ranges/adaptors/all.cc: Reinstate assertion + expecting that adding empty range adaptor closure objects to a + pipeline doesn't increase the size of a pipeline. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Pres_type): Add _Pres_F. + (__formatter_fp::parse): Use _Pres_F for 'F'. + (__formatter_fp::format): Set __upper for _Pres_F. + * testsuite/std/format/functions/format.cc: Check formatting of + infinity and NaN for each presentation type. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.in: Regenerate. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. + * testsuite/std/format/functions/format.cc: Likewise. + * testsuite/std/format/functions/format_c++23.cc: Likewise. + +2023-08-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove + any "-include bits/stdc++.h" from options and add the macro to + the existing options instead of replacing them. + +2023-08-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.tcc (resize_and_overwrite): Invoke + the callable with the same size as resize_and_overwrite was + called with. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Check with small values for the new size. + * testsuite/std/format/functions/format.cc: Check wide + formatting of double values that produce small strings. + * testsuite/std/format/functions/format_c++23.cc: New test. + +2023-08-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (stds): Update value for C++23. + * include/bits/version.h: Regenerate. + +2023-08-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: + Fix name of upstream file this was derived from. + * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: Likewise. + +2023-08-16 Arsen Arsenović <arsen@aarsen.me> + + * libsupc++/typeinfo: Switch to bits/version.h for + __cpp_lib_constexpr_typeinfo. + * libsupc++/new: Switch to bits/version.h for + __cpp_lib_{launder,hardware_interference_size,destroying_delete}. + (launder): Guard behind __cpp_lib_launder. + (hardware_destructive_interference_size) + (hardware_constructive_interference_size): Guard behind + __cpp_lib_hardware_interference_size. + * libsupc++/exception: Switch to bits/version.h for + __cpp_lib_uncaught_exceptions. + (uncaught_exceptions): Guard behind __cpp_lib_uncaught_exceptions. + * libsupc++/compare: Switch to bits/version.h for + __cpp_lib_three_way_comparison. + (three_way_comparable, three_way_comparable_with) + (compare_three_way, weak_order, strong_order, partial_order): + Guard behind __cpp_lib_three_way_comparison >= 201907L. + * include/std/chrono: Drop __cpp_lib_chrono definition. + * include/std/vector: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/variant: Switch to bits/version.h for + __cpp_lib_variant. Guard whole header behind that FTM. + * include/std/utility: Switch to bits/version.h for + __cpp_lib_{exchange_function,constexpr_algorithms,as_const}, + __cpp_lib_{integer_comparison_functions,to_underlying}, and + __cpp_lib_unreachable. + (exchange): Guard behind __cpp_lib_exchange_function. + (cmp_equal, cmp_not_equal, cmp_less, cmp_greater, cmp_less_equal) + (cmp_greater_equal, in_range): Guard behind + __cpp_lib_integer_comparison_functions. + (to_underlying): Guard behind __cpp_lib_to_underlying. + (unreachable): Guard behind __cpp_lib_unreachable. + * include/std/type_traits: Switch to bits/version.h for + __cpp_lib_is_{null_pointer,final,nothrow_convertible,aggregate}, + __cpp_lib_is_{constant_evaluated,invocable,layout_compatible}, + __cpp_lib_is_{pointer_interconvertible,scoped_enum,swappable}, + __cpp_lib_{logical_traits,reference_from_temporary,remove_cvref}, + __cpp_lib_{result_of_sfinae,transformation_trait_aliases}, + __cpp_lib_{type_identity,type_trait_variable_templates}, + __cpp_lib_{unwrap_ref,void_t,integral_constant_callable}, + __cpp_lib_{bool_constant,bounded_array_traits}, and + __cpp_lib_has_unique_object_representations. + (integral_constant::operator()): Guard behind + __cpp_lib_integral_constant_callable. + (bool_constant): Guard behind __cpp_lib_bool_constant. + (conjunction, disjunction, negation, conjunction_v, disjunction_v) + (negation_v): Guard behind __cpp_lib_logical_traits. + (is_null_pointer): Guard behind __cpp_lib_is_null_pointer. + (is_final): Guard behind __cpp_lib_is_final. + (is_nothrow_convertible, is_nothrow_convertible_v): Guard behind + __cpp_lib_is_nothrow_convertible. + (remove_const_t, remove_volatile_t, remove_cv_t) + (add_const_t, add_volatile_t, add_cv_t): Guard behind + __cpp_lib_transformation_trait_aliases. + (void_t): Guard behind __cpp_lib_void_t. + (is_swappable_with_v, is_nothrow_swappable_with_v) + (is_swappable_with, is_nothrow_swappable_with): Guard behind + __cpp_lib_is_swappable. + (is_nothrow_invocable_r, is_invocable_r, invoke_result) + (is_invocable, invoke_result_t): Guard behind + __cpp_lib_is_invocable. + (alignment_of_v, extent_v, has_virtual_destructor_v) + (is_abstract_v, is_arithmetic_v, is_array_v) + (is_assignable_v, is_base_of_v, is_class_v, is_compound_v) + (is_constructible_v, is_const_v, is_convertible_v) + (is_copy_assignable_v, is_copy_constructible_v) + (is_default_constructible_v, is_destructible_v) + (is_empty_v, is_enum_v, is_final_v, is_floating_point_v) + (is_function_v, is_fundamental_v, is_integral_v) + (is_invocable_r_v, is_invocable_v, is_literal_type_v) + (is_lvalue_reference_v, is_member_function_pointer_v) + (is_member_object_pointer_v, is_member_pointer_v) + (is_move_assignable_v, is_move_constructible_v) + (is_nothrow_assignable_v, is_nothrow_constructible_v) + (is_nothrow_copy_assignable_v, is_nothrow_copy_constructible_v) + (is_nothrow_default_constructible_v, is_nothrow_destructible_v) + (is_nothrow_invocable_r_v, is_nothrow_invocable_v) + (is_nothrow_move_assignable_v, is_nothrow_move_constructible_v) + (is_null_pointer_v, is_object_v, is_pod_v, is_pointer_v) + (is_polymorphic_v, is_reference_v, is_rvalue_reference_v) + (is_same_v, is_scalar_v, is_signed_v, is_standard_layout_v) + (is_trivially_assignable_v, is_trivially_constructible_v) + (is_trivially_copyable_v, is_trivially_copy_assignable_v) + (is_trivially_copy_constructible_v) + (is_trivially_default_constructible_v) + (is_trivially_destructible_v, is_trivially_move_assignable_v) + (is_trivially_move_constructible_v, is_trivial_v, is_union_v) + (is_unsigned_v, is_void_v, is_volatile_v, rank_v, as variadic): + Guard behind __cpp_lib_type_trait_variable_templates. + (has_unique_object_representations) + (has_unique_object_representations_v): Guard behind + __cpp_lib_has_unique_object_representation. + (is_aggregate): Guard behind __cpp_lib_is_aggregate. + (remove_cvref, remove_cvref_t): Guard behind + __cpp_lib_remove_cvref. + (type_identity, type_identity_t): Guard behind + __cpp_lib_type_identity. + (unwrap_reference, unwrap_reference_t, unwrap_ref_decay) + (unwrap_ref_decay_t): Guard behind __cpp_lib_unwrap_ref. + (is_bounded_array_v, is_unbounded_array_v, is_bounded_array) + (is_unbounded_array): Guard behind __cpp_lib_bounded_array_traits. + (is_scoped_enum, is_scoped_enum_v): Guard behind + __cpp_lib_is_scoped_enum. + (reference_constructs_from_temporary) + (reference_constructs_from_temporary_v): Guard behind + __cpp_lib_reference_from_temporary. + * include/std/tuple: Switch to bits/version.h for + __cpp_lib_{constexpr_tuple,tuple_by_type,apply_make_from_tuple}. + (get<T>): Guard behind __cpp_lib_tuple_by_type. + (apply): Guard behind __cpp_lib_apply. + (make_from_tuple): Guard behind __cpp_lib_make_from_tuple. + * include/std/syncstream: Switch to bits/version.h for + __cpp_lib_syncbuf. Guard header behind that FTM. + * include/std/string_view: Switch to bits/version.h for + __cpp_lib_{string_{view,contains},constexpr_string_view} and + __cpp_lib_starts_ends_with. + (basic_string_view::starts_with, basic_string_view::ends_with): + Guard behind __cpp_lib_starts_ends_with. + [C++23 && _GLIBCXX_HOSTED && !defined(__cpp_lib_string_contains)]: + Assert as impossible ithout a bug in C++23. + * include/std/string: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/thread: Switch to bits/version.h for + __cpp_lib_jthread. + * include/std/stop_token: Switch to bits/version.h for + __cpp_lib_jthread. + * include/std/spanstream: Switch to bits/version.h for + __cpp_lib_spanstream. Guard header behind that FTM. + * include/std/span: Switch to bits/version.h for __cpp_lib_span. + Guard header behind that FTM. + * include/std/source_location: Switch to bits/version.h for + __cpp_lib_source_location. Guard header with that FTM. + * include/std/shared_mutex: Switch to bits/version.h for + __cpp_lib_shared{,_timed}_mutex. + (shared_mutex): Guard behind __cpp_lib_shared_mutex. + * include/std/semaphore: Switch to bits/version.h for + __cpp_lib_semaphore. Guard header behind that FTM. + * include/std/ranges: Switch to bits/version.h for + __cpp_lib_ranges_{zip,chunk{,_by},slide,join_with}, + __cpp_lib_ranges_{repeat_stride,cartesian_product,as_rvalue}, + and __cpp_lib_ranges_{as_const,enumerate,iota}. + (ranges::zip et al, ranges::chunk et al, ranges::slide et al) + (ranges::chunk_by et al, ranges::join_with et al) + (ranges::stride et al, ranges::cartesian_product et al) + (ranges::as_rvalue et al, ranges::as_const et al) + (ranges::enumerate et al): Guard behind appropriate FTM. + * include/std/optional: Switch to bits/version.h for + __cpp_lib_optional. Guard header behind that FTM. + * include/std/numeric: Switch to bits/version.h for + __cpp_lib_{gcd{,_lcm},lcm,constexpr_numeric,interpolate} + and __cpp_lib_parallel_algorithm. + (gcd, lcm): Guard behind __cpp_lib_gcd_lcm. + (midpoint): Guard behind __cpp_lib_interpolate. + * include/std/numbers: Switch to bits/version.h for + __cpp_lib_math_constants. Guard header behind that FTM. + * include/std/mutex: Switch to bits/version.h for + __cpp_lib_scoped_lock. + (scoped_Lock): Guard behind __cpp_lib_scoped_lock. + * include/std/memory_resource: Switch to bits/version.h for + __cpp_lib_{polymorphic_allocator,memory_resource}. + (synchronized_pool_resource): Guard behind + __cpp_lib_memory_resource >= 201603L. + (polymorphic_allocator): Guard behind + __cpp_lib_polymorphic_allocator. + * include/std/memory: Switch to bits/version.h for + __cpp_lib_{parallel_algorithm,atomic_value_initialization}. + * include/std/list: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/latch: Switch to bits/version.h for __cpp_lib_latch. + Guard header behind that FTM. + * include/std/iterator: Switch to bits/version.h for + __cpp_lib_null_iterators. + * include/std/iomanip: Switch to bits/version.h for + __cpp_lib_quoted_string_io. + (quoted): Guard behind __cpp_lib_quoted_string_io. + * include/std/functional: Switch to bits/version.h for + __cpp_lib_{invoke{,_r},constexpr_functional,bind_front} and + __cpp_lib_{not_fn,booyer_moore_searcher}. + (invoke): Guard behind __cpp_lib_invoke. + (invoke_r): Guard behind __cpp_lib_invoke_r. + (bind_front): Guard behind __cpp_lib_bind_front. + (not_fn): Guard behind __cpp_lib_not_fn. + (boyer_moore_searcher, boyer_moore_horspool_searcher): Guard + definition behind __cpp_lib_boyer_moore_searcher. + * include/std/forward_list: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/format: Switch to bits/version.h for + __cpp_lib_format. Guard header behind that FTM. + * include/std/filesystem: Switch to bits/version.h for + __cpp_lib_filesystem. Guard header behind that FTM. + * include/std/expected: Switch to bits/version.h for + __cpp_lib_expected. Guard header behind it. + * include/std/execution: Switch to bits/version.h for + __cpp_lib_{execution,parallel_algorithm}. Guard header behind + either. + * include/std/deque: Switch to bits/version.h for + __cpp_lib_erase_if. + (erase, erase_if): Guard behind __cpp_lib_erase_if. + * include/std/coroutine: Switch to bits/version.h for + __cpp_lib_coroutine. Guard header behind that FTM. + * include/std/concepts: Switch to bits/version.h for + __cpp_lib_concepts. Guard header behind that FTM. + * include/std/complex: Switch to bits/version.h for + __cpp_lib_{complex_udls,constexpr_complex}. + (operator""if, operator""i, operator""il): Guard behind + __cpp_lib_complex_udls. + * include/std/charconv: Swtich to bits/version.h for + __cpp_lib_{to_chars,constexpr_charconv}. + * include/std/bitset: Switch to bits/version.h for + __cpp_lib_constexpr_bitset. + * include/std/bit: Switch to bits/version.h for + __cpp_lib_{bit_cast,byteswap,bitops,int_pow2,endian}. + (bit_cast): Guard behind __cpp_lib_bit_cast. + (byteswap): Guard behind __cpp_lib_byteswap. + (rotl, rotr, countl_zero, countl_one, countr_zero, countr_one) + (popcount): Guard behind __cpp_lib_bitops. + (has_single_bit, bit_ceil, bit_floor, bit_width): Guard behind + __cpp_lib_int_pow2. + (endian): Guard behind __cpp_lib_endian. + * include/std/barrier: Switch to bits/version.h for + __cpp_lib_barrier. Guard header behind that FTM. + * include/std/atomic: Switch to bits/version.h for + __cpp_lib_atomic_{is_always_lock_free,float,ref} + and __cpp_lib_lock_free_type_aliases. + (*::is_always_lock_free): Guard behind + __cpp_lib_atomic_is_always_lock_free. + (atomic<float>): Guard behind __cpp_lib_atomic_float. + (atomic_ref): Guard behind __cpp_lib_atomic_ref. + (atomic_signed_lock_free, atomic_unsigned_lock_free): Guard behind + __cpp_lib_atomic_lock_free_type_aliases. + * include/std/array: Switch to bits/version.h for + __cpp_lib_to_array. + (to_array): Guard behind __cpp_lib_to_array. + * include/std/any: Switch to bits/version.h for __cpp_lib_any. + Guard header behind that FTM. + * include/std/algorithm: Switch to bits/version.h for + __cpp_lib_parallel_algorithm. + * include/c_global/cstddef: Switch to bits/version.h for + __cpp_lib_byte. + (byte): Guard behind __cpp_lib_byte. + * include/c_global/cmath: Switch to bits/version.h for + __cpp_lib_{hypot,interpolate}. + (hypot3): Guard behind __cpp_lib_hypot. + (lerp): Guard behind __cpp_lib_interpolate. + * include/c_compatibility/stdatomic.h: Switch to + bits/stl_version.h for __cpp_lib_atomic. Guard header behind that + FTM. + * include/bits/utility.h: Switch to bits/version.h for + __cpp_lib_{tuple_element_t,integer_sequence,ranges_zip}. + (tuple_element_t): Guard behind __cpp_lib_tuple_element_t. + (integer_sequence et al): Guard behind __cpp_lib_integer_sequence. + * include/bits/uses_allocator_args.h: Switch to bits/version.h for + __cpp_lib_make_obj_using_allocator. Guard header behind that FTM. + * include/bits/unordered_map.h: Switch to bits/version.h for + __cpp_lib_unordered_map_try_emplace. + (try_emplace): Guard behind __cpp_lib_unordered_map_try_emplace. + * include/bits/unique_ptr.h: Switch to bits/version.h for + __cpp_lib_{constexpr_memory,make_unique}. + (make_unique): Guard behind __cpp_lib_make_unique. + * include/bits/stl_vector.h: Switch to bits/version.h for + __cpp_lib_constexpr_vector. + * include/bits/stl_uninitialized.h: Switch to bits/version.h for + __cpp_lib_raw_memory_algorithms. + (uninitialized_default_construct) + (uninitialized_default_construct_n, uninitialized_move) + (uninitialized_move_n, uninitialized_value_construct) + (uninitialized_value_construct_n): Guard behind + __cpp_lib_raw_memory_algorithms. + * include/bits/stl_tree.h: Switch to bits/version.h for + __cpp_lib_generic_associative_lookup. + * include/bits/stl_stack.h: Switch to bits/version.h for + __cpp_lib_adaptor_iterator_pair_constructor. + (stack): Guard iterator-pair constructor behind + __cpp_lib_adaptor_iterator_pair_constructor. + * include/bits/stl_queue.h: Switch to bits/version.h for + __cpp_lib_adaptor_iterator_pair_constructor. + (queue): Guard iterator-pair constructor behind + __cpp_lib_adaptor_iterator_pair_constructor. + * include/bits/stl_pair.h: Switch to bits/version.h for + __cpp_lib_{concepts,tuples_by_type}. + (get): Guard type-getting overloads behind + __cpp_lib_tuples_by_type. + * include/bits/stl_map.h: Switch to bits/version.h for + __cpp_lib_map_try_emplace. + (map<>::try_emplace): Guard behind __cpp_lib_map_try_emplace. + * include/bits/stl_list.h: Switch to bits/version.h for + __cpp_lib_list_remove_return_type. + (__remove_return_type, _GLIBCXX_LIST_REMOVE_RETURN_TYPE_TAG) + [C++20]: guard behind __cpp_lib_list_remove_return_type instead. + * include/bits/stl_iterator.h: Switch to bits/version.h for + __cpp_lib_{constexpr_iterator,array_constexpr} and + __cpp_lib_{make_reverse_iterator,move_iterator_concept}. + (make_reverse_iterator): Guard behind + __cpp_lib_make_reverse_iterator. + (iterator_concept et al): Guard __cpp_lib_move_iterator_concept + changes behind that FTM. + * include/bits/stl_function.h: Switch to bits/version.h for + __cpp_lib_transparent_operators. + (equal_to, not_equal_to, greater, less, greater_equal) + (less_equal, bit_and, bit_or, bit_xor, bit_not, logical_and) + (logical_or, logical_not, plus, minus, multiplies, divides) + (modulus, negate): Guard '= void' fwdecls behind + __cpp_lib_transparent_operators. + (plus<void>, minus<void>, multiplies<void>, divides<void>) + (modulus<void>, negate<void>, logical_and<void>, logical_or<void>) + (logical_not<void>, bit_and<void>, bit_or<void>, bit_xor<void>) + (equal_to<void>, not_equal_to<void>, greater<void>, less<void>) + (greater_equal<void>, less_equal<void>, bit_not<void>) + (__has_is_transparent): Guard behind + __cpp_lib_transparent_operators. + * include/bits/stl_algobase.h: Switch to bits/version.h for + __cpp_lib_robust_nonmodifying_seq_ops. + (robust equal, mismatch): Guard behind + __cpp_lib_nonmember_container_access. + * include/bits/stl_algo.h: Swtich to bits/version.h for + __cpp_lib_{clamp,sample}. + (clamp): Guard behind __cpp_lib_clamp. + (sample): Guard behind __cpp_lib_sample. + * include/bits/specfun.h: Switch to bits/version.h for + __cpp_lib_math_special_functions and __STDCPP_MATH_SPEC_FUNCS__. + * include/bits/shared_ptr_base.h: Switch to bits/version.h for + __cpp_lib_{smart_ptr_for_overwrite,shared_ptr_arrays}. + (_Sp_overwrite_tag): Guard behind + __cpp_lib_smart_ptr_for_overwrite. + * include/bits/shared_ptr_atomic.h: Switch to bits/version.h for + __cpp_lib_atomic_shared_ptr. + * include/bits/shared_ptr.h: Switch to bits/version.h for + __cpp_lib_{enable_shared_from_this,shared_ptr_weak_type}. + (shared_ptr<T>::weak_type): Guard behind + __cpp_lib_shared_ptr_weak_type. + (enable_shared_from_this<T>::weak_from_this): Guard behind + __cpp_lib_enable_shared_from_this. + * include/bits/ranges_cmp.h: Switch to bits/version.h for + __cpp_lib_ranges. + * include/bits/ranges_algo.h: Switch to bits/version.h for + __cpp_lib_{shift,ranges_{contains,find_last,fold,iota}}. + * include/bits/range_access.h: Switch to bits/version.h for + __cpp_lib_nonmember_container_access + (size, empty, data): Guard behind + __cpp_lib_nonmember_container_access. + (ssize): Guard behind __cpp_lib_ssize. + * include/bits/ptr_traits.h: Switch to bits/version.h. for + __cpp_lib_{constexpr_memory,to_address}. + (to_address): Guard behind __cpp_lib_to_address. + * include/bits/node_handle.h: Switch to bits/version.h for + __cpp_lib_node_extract. Guard header behind that FTM. + * include/bits/move_only_function.h: Switch to bits/version.h for + __cpp_lib_move_only_function. Guard header behind that FTM. + * include/bits/move.h: Switch to bits/version.h for + __cpp_lib_addressof_constexpr. + * include/bits/ios_base.h: Switch to bits/version.h for + __cpp_lib_ios_noreplace. + (noreplace): Guard with __cpp_lib_ios_noreplace. + * include/bits/hashtable.h: Switch to bits/version.h for + __cpp_lib_generic_unordered_lookup. + (_M_equal_range_tr, _M_count_tr, _M_find_tr): Guard behind + __cpp_lib_generic_unordered_lookup. + * include/bits/forward_list.h: Switch to bits/version.h for + __cpp_lib_list_remove_return_type. + (__remove_return_type): Guard behind + __cpp_lib_list_remove_return_type. + * include/bits/erase_if.h: Switch to bits/version.h for + __cpp_lib_erase_if. + * include/bits/cow_string.h: Switch to bits/version.h for + __cpp_lib_constexpr_string. + * include/bits/chrono.h: Swtich to bits/version.h for + __cpp_lib_chrono{,_udls}. + (ceil): Guard behind __cpp_lib_chrono. + (operator""ns et al): Guard behind __cpp_lib_chrono_udls. + * include/bits/char_traits.h: Switch to bits/version.h for + __cpp_lib_constexpr_char_traits. + * include/bits/basic_string.h: Switch to bits/version.h for + __cpp_lib_{constexpr_string,string_{resize_and_overwrite,udls}}. + (resize_and_overwrite): Guard behind + __cpp_lib_string_resize_and_overwrite. + (operator""s): Guard behind __cpp_lib_string_udls. + * include/bits/atomic_wait.h: Switch to bits/version.h for + __cpp_lib_atomic_wait. Guard header behind that FTM. + * include/bits/atomic_base.h: Switch to bits/version.h for + __cpp_lib_atomic_value_initialization and + __cpp_lib_atomic_flag_test. + (atomic_flag::test): Guard behind __cpp_lib_atomic_flag_test, + rather than C++20. + * include/bits/allocator.h: Switch to bits/version.h for + __cpp_lib_incomplete_container_elements. + * include/bits/alloc_traits.h: Switch to using bits/version.h for + __cpp_lib_constexpr_dynamic_alloc and + __cpp_lib_allocator_traits_is_always_equal. + * include/bits/align.h: Switch to bits/version.h for defining + __cpp_lib_assume_aligned. + (assume_aligned): Guard with __cpp_lib_assume_aligned. + * include/bits/algorithmfwd.h: Switch to bits/version.h for + defining __cpp_lib_constexpr_algorithms. + * include/std/stacktrace: Switch to bits/version.h for + __cpp_lib_stacktrace. Guard header behind that FTM. + * testsuite/23_containers/array/tuple_interface/get_neg.cc: + Update line numbers. + +2023-08-16 Arsen Arsenović <arsen@aarsen.me> + + * include/Makefile.am (bits_freestanding): Add version.h. + (allcreated): Add version.h. + (${bits_srcdir}/version.h): New rule. Regenerates + version.h out of version.{def,tpl}. + * include/Makefile.in: Regenerate. + * include/bits/version.def: New file. Declares a list of + all feature test macros, their values and their preconditions. + * include/bits/version.tpl: New file. Turns version.def + into a sequence of #if blocks. + * include/bits/version.h: New file. Generated from + version.def. + * include/std/version: Replace with a __glibcxx_want_all define + and bits/version.h include. + +2023-08-14 Paul Dreik <gccpatches@pauldreik.se> + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Use frexp instead + of log10. + +2023-08-12 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (true_type): Use __bool_constant + instead. + (false_type): Likewise. + (bool_constant): Likewise. + +2023-08-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110990 + * include/std/format (_Seq_sink::get): Only call _M_overflow if + its precondition is met. + (_Iter_sink::_M_finish): Likewise. + (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the + internal buffer after running out of space. + (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow. + (_Counting_sink::count): Likewise. + * testsuite/std/format/functions/format_to_n.cc: Check cases + where the output fits into the buffer. + +2023-08-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104167 + * include/bits/chrono_io.h (operator|=, operator|): Add noexcept + to _ChronoParts operators. + (from_stream, parse): Define new functions. + (__detail::_Parse, __detail::_Parser): New class templates. + * include/std/chrono (__cpp_lib_chrono): Define to 201907L for + C++20. + * include/std/version (__cpp_lib_chrono): Likewise. + * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc: + Adjust expected value of feature test macro. + * testsuite/20_util/duration/io.cc: Test parsing. + * testsuite/std/time/clock/file/io.cc: Likewise. + * testsuite/std/time/clock/gps/io.cc: Likewise. + * testsuite/std/time/clock/system/io.cc: Likewise. + * testsuite/std/time/clock/tai/io.cc: Likewise. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/day/io.cc: Likewise. + * testsuite/std/time/month/io.cc: Likewise. + * testsuite/std/time/month_day/io.cc: Likewise. + * testsuite/std/time/weekday/io.cc: Likewise. + * testsuite/std/time/year/io.cc: Likewise. + * testsuite/std/time/year_month/io.cc: Likewise. + * testsuite/std/time/year_month_day/io.cc: Likewise. + * testsuite/std/time/syn_c++20.cc: Check value of macro and for + the existence of parse and from_stream in namespace chrono. + * testsuite/std/time/clock/local/io.cc: New test. + * testsuite/std/time/parse.cc: New test. + +2023-08-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Do not call log10 + with zero values. + +2023-08-11 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter): + Check for out-of-range month an weekday indices. + * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid + month and weekday values. + +2023-08-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove. + +2023-08-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110974 + * include/std/format (_Spec::_S_parse_width_or_precision): Check + for empty range before dereferencing iterator. + * testsuite/std/format/string.cc: Check for expected exception. + Fix expected exception message in test_pr110862() and actually + call it. + +2023-08-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110968 + * include/std/format (__formatter_fp::format): Check return + value of _M_localize. + * testsuite/std/format/functions/format.cc: Check classic + locale. + +2023-08-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110970 + * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use + __iter_category_t. + (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise. + (__detail::__basic_const_iterator_iter_cat): Likewise. + * include/bits/stl_iterator_base_types.h (__iterator_category_t): + Rename to __iter_category_t. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (duration_cast): Do not use braces + around statements for C++11 constexpr rules. + * include/bits/stl_algobase.h (__lg): Rewrite as a single + statement for C++11 constexpr rules. + * include/experimental/bits/fs_path.h (path::string): Use + _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'. + * include/std/charconv (__to_chars_8): Initialize variable for + C++17 constexpr rules. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare + warning for loop condition. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/std/complex: Add diagnostic pragma for clang. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (atomic): Change class-head + to struct. + * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change + class-head to struct in friend declaration. + * include/std/chrono (tzdb_list::_Node): Likewise. + * include/std/future (_Task_state_base, _Task_state): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/valarray (_BinClos, _SClos, _GClos, _IClos) + (_ValFunClos, _RefFunClos): Change class-head to struct. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]] + attribute. + * include/bits/regex_executor.tcc: Remove name of unused + parameter. + * include/bits/shared_ptr_atomic.h (atomic_is_lock_free): + Likewise. + * include/bits/stl_uninitialized.h: Likewise. + * include/bits/streambuf_iterator.h (operator==): Likewise. + * include/bits/uses_allocator.h: Likewise. + * include/c_global/cmath (isfinite, isinf, isnan): Likewise. + * include/std/chrono (zoned_time): Likewise. + * include/std/future (__future_base::_S_allocate_result): + Likewise. + (packaged_task): Likewise. + * include/std/optional (_Optional_payload_base): Likewise. + * include/std/scoped_allocator (__inner_type_impl): Likewise. + * include/std/tuple (_Tuple_impl): Likewise. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/new_allocator.h (__new_allocator): Define copy + assignment operator as defaulted. + * include/std/complex (complex<float>, complex<double>) + (complex<long double>): Define copy constructor as defaulted. + +2023-08-09 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format: Fix some warnings. + (__format::__write(Ctx&, basic_string_view<CharT>)): Remove + unused function template. + +2023-08-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110860 + * include/std/format (__formatter_fp::format): Do not use + __builtin_abs and __builtin_log10 with arbitrary floating-point + types. + +2023-08-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110917 + * include/std/format (__format::_Iter_sink<CharT, OutIter>): + Constrain partial specialization for contiguous iterators to + require the value type to be CharT. + * testsuite/std/format/functions/format_to.cc: New test. + +2023-08-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110862 + * include/std/format (_Scanner::_M_on_replacement_field): + Check for expected '}' before incrementing iterator. + * testsuite/std/format/string.cc: Check "{0:{0}" format string. + +2023-08-07 Nick Alcock <nick.alcock@oracle.com> + + * configure: Regenerate. + +2023-08-07 Alan Modra <amodra@gmail.com> + + * configure: Regenerate. + +2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com> + + * configure: Regenerate. + +2023-08-07 Nick Alcock <nick.alcock@oracle.com> + + * configure: Regenerate. + +2023-08-07 Nick Alcock <nick.alcock@oracle.com> + + * configure: Regenerate. + +2023-08-07 H.J. Lu <hjl.tools@gmail.com> + + * configure: Regenerate. + +2023-08-07 H.J. Lu <hjl.tools@gmail.com> + + * configure: Regenerate. + +2023-08-06 François Dumont <fdumont@gcc.gnu.org> + + * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate + symbol export. + +2023-07-30 François Dumont <fdumont@gcc.gnu.org> + + * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with + proper #error. + * src/c++11/locale-inst-monetary.h: Likewise. + * src/c++11/locale-inst-numeric.h: Likewise. + +2023-07-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108046 + * include/std/format (__formatter_fp::format): Ensure __expc is + always set for all presentation types. Set __z correctly for + zero precision. + * testsuite/std/format/functions/format.cc: Check problem cases. + +2023-07-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110807 + * testsuite/23_containers/vector/bool/110807.cc: Require c++11. + +2023-07-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110807 + * include/bits/stl_bvector.h (vector(const vector&)): Access + iterators before allocating. + * include/bits/vector.tcc (vector<bool>::_M_insert_range): + Likewise. + * testsuite/23_containers/vector/bool/110807.cc: New test. + +2023-07-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/algorithmfwd.h (random_shuffle): Add deprecated + attribute. + * include/bits/stl_algo.h (random_shuffle): Correct comments. + * testsuite/25_algorithms/random_shuffle/1.cc: Disable + deprecated warnings. + * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise. + * testsuite/25_algorithms/random_shuffle/deprecated.cc: New + test. + +2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com> + + * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic + locations. + * testsuite/26_numerics/gcd/105844.cc: Likewise. + * testsuite/26_numerics/lcm/105844.cc: Likewise. + +2023-07-24 Deev Patel <pateldeev@nevada.unr.edu> + + * include/std/format (_Formatting_scanner::_M_on_chars): Add + missing constexpr specifier. + (_Formatting_scanner::_M_format_arg): Likewise. + +2023-07-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110653 + * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not + throw an exception for zero result. + [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110077 + * src/c++17/floating_from_chars.cc (from_chars): Only define + _Float128 overload when using __strfromf128. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110593 + * include/bits/chrono.h (duration): Improve static assert + messages. + (__is_ratio): Move to ... + * include/std/ratio (__is_ratio): ... here. + (__is_ratio_v): New variable template and partial + specialization. + (__are_both_ratios): New function template. + (__ratio_multiply, ratio_equal, ratio_less, __ratio_add): + Add static assertion. + * testsuite/20_util/ratio/requirements/type_constraints.cc: + New test. + * testsuite/20_util/duration/requirements/typedefs_neg1.cc: + Adjust expected error. + * testsuite/20_util/duration/requirements/typedefs_neg2.cc: + Likewise. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_format): + Do not set __is_neg for hh_mm_ss before calling + _M_format_to_ostream. Change __print_sign lambda to only check + __is_neg for durations and hh_mm_ss types. + (__formatter_chrono::_M_format_to_ostream): Only check __is_neg + for duration types. + * testsuite/std/time/hh_mm_ss/io.cc: Check negative values. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds): + Handle duration and hh_mm_ss. + * testsuite/20_util/duration/io.cc: Check locale-specific + formats. + * testsuite/std/time/hh_mm_ss/io.cc: Likewise. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__write_padded): Initialize first element + of array to avoid a -Wmaybe-uninitialized warning. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110719 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix + allowed modifiers for %z and %Z. Fix -Wparentheses and + -Wnarrowing warnings. + (__formatter_chrono::_M_format): Call new functions for %d, %e, + %H, %I, %m and %M. + (__formatter_chrono::_M_c): Use _S_floor_seconds to remove + subsecond precision. + (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle + modifiers. + (__formatter_chrono::_M_e): Replace with _M_d_e and use + _M_locale_fmt. + (__formatter_chrono::_M_I): Replace with _M_H_I and use + _M_locale_fmt. + (__formatter_chrono::_M_m): New function. + (__formatter_chrono::_M_M): New function. + (__formatter_chrono::_M_r): Use _M_locale_fmt. + (__formatter_chrono::_M_S): Likewise. + (__formatter_chrono::_M_u_w): Likewise. + (__formatter_chrono::_M_U_V_W): Likewise. + (__formatter_chrono::_M_X): Use _S_floor_seconds. + (__formatter_chrono::_M_Z): Fix untested branch for wchar_t. + (__formatter_chrono::_S_altnum): Remove function. + (__formatter_chrono::_S_dd_zero_fill): Remove function. + (__formatter_chrono::_S_floor_seconds): New function. + (__formatter_chrono::_M_locale_fmt): New function. + * testsuite/std/time/clock/system/io.cc: Adjust expected output + for locale-specific formats and check modified formats. + * testsuite/std/time/clock/utc/io.cc: Likewise. + * testsuite/std/time/zoned_time/io.cc: New test. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110708 + * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only + allow a single modifier. + * testsuite/std/time/format.cc: Check multiple modifiers. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110653 + * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc: + Remove dg-require-string-conversions. + * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc: + Likewise. + * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc: + Likewise. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110653 + * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof): + Define in terms of std::stod. + +2023-07-19 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110653 + * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof): + Define. + [_GLIBCXX_HAVE_STRTOLD] (stold): Define. + * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof): + Declare in namespace std. + [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise. + +2023-07-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110653 + * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not + depend on _GLIBCXX_USE_C99_STDLIB. + [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define + in terms of stol and stoul respectively. + [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms + of stod. + +2023-07-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/95048 + * testsuite/27_io/filesystem/path/construct/95048.cc: Check + conversions to wide strings. + * testsuite/experimental/filesystem/path/construct/95048.cc: + Likewise. + +2023-07-12 Jonathan Wakely <jwakely@redhat.com> + + * config/io/basic_file_stdio.cc: Define LFS macros. + (__basic_file<char>::open): Use fopen unconditionally. + (get_file_offset): Use lseek unconditionally. + (__basic_file<char>::seekoff): Likewise. + (__basic_file<char>::showmanyc): Use fstat unconditionally. + +2023-07-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110574 + * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello + and define _GLIBCXX_USE_FSEEKO_FTELLO. + * config.h.in: Regenerate. + * configure: Regenerate. + * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]: + Check for fwrite error correctly. + (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for + fread error correctly. + (get_file_offset): New function. + (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use + fseeko if available. Use get_file_offset instead of return value + of fseek. + (__basic_file<char>::showmanyc): Use get_file_offset. + +2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org> + + * include/std/type_traits (__make_unsigned_selector): Use + __is_enum built-in trait. + (__make_signed_selector): Likewise. + (__underlying_type_impl): Likewise. + +2023-07-06 Tianqiang Shuai <1101282468@qq.com> + + * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix + first argument. + +2023-07-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110574 + * doc/xml/manual/configure.xml: Describe stdio_pure argument to + --enable-cstdio. + * doc/html/manual/configure.html: Regenerate. + +2023-07-05 Thomas Rodgers <trodgers@redhat.com> + + * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete + file. + * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc: + New file. + * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set_util.h: + Likewise. + +2023-07-05 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: + Skip as UNSUPPORTED for C++98 mode. + * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: + Likewise. + +2023-07-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110542 + * include/bits/stl_uninitialized.h (__uninitialized_default_n): + Do not use std::fill_n during constant evaluation. + +2023-07-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/vector.tcc (_M_default_append): Replace try-block + with RAII types. + +2023-07-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/iterator_concepts.h (projected): Add typename. + +2023-07-03 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and + wosyncstream depend on _GLIBCXX_USE_CXX11_ABI. + +2023-07-03 Jonathan Wakely <jwakely@redhat.com> + + * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN, + _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN): + Define to OpenMP 5.0 pragmas even for GCC 10.0+. + (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+. + +2023-07-03 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/alloc_traits.h (_Destroy): Qualify call. + * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise. + * testsuite/23_containers/vector/cons/destroy-adl.cc: New test. + +2023-07-03 Iain Sandoe <iain@sandoe.co.uk> + + * testsuite/lib/libstdc++.exp: Remove additional flag handled + by Darwin specs. + +2023-06-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110432 + * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY. + * include/std/iostream: Use new autoconf macro as well as + __has_attribute. + * src/c++98/ios_base_init.h: Use new autoconf macro instead of + __has_attribute. + +2023-06-30 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/random.cc (random_device::_M_init): Add maybe_unused + attribute. + +2023-06-30 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105081 + * src/c++11/random.cc (random_device::_M_init): Throw + std::system_error when the requested device is a valid token but + not available at runtime. + +2023-06-30 Hans-Peter Nilsson <hp@axis.com> + + PR libstdc++/108672 + * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using + __INT32_TYPE__ instead of int32_t. + +2023-06-29 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently + with USE_ATOMIC_LIST_HEAD. + (list_mutex): Replace global object with function. Use local + static object when std::mutex constructor isn't constexpr. + +2023-06-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110462 + * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that + copy_file_range can be called with loff_t* arguments. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_copy_file_range): + Use loff_t for offsets. + +2023-06-29 Tom Tromey <tromey@adacore.com> + + * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer + regexp. + +2023-06-28 Jan Hubicka <jh@suse.cz> + + PR middle-end/109849 + * include/bits/c++config (std::__terminate): Mark cold. + * include/bits/functexcept.h: Mark everything as cold. + * libsupc++/exception: Mark terminate and unexpected as cold. + +2023-06-26 Thomas Rodgers <trodgers@redhat.com> + + * include/pstl/algorithm_fwd.h: Synchronize with upstream. + * include/pstl/algorithm_impl.h: Likewise. + * include/pstl/execution_defs.h: Likewise. + * include/pstl/execution_impl.h: Likewise. + * include/pstl/glue_algorithm_impl.h: Likewise. + * include/pstl/glue_execution_defs.h: Likewise. + * include/pstl/glue_memory_impl.h: Likewise. + * include/pstl/glue_numeric_impl.h: Likewise. + * include/pstl/memory_impl.h: Likewise. + * include/pstl/numeric_fwd.h: Likewise. + * include/pstl/numeric_impl.h: Likewise. + * include/pstl/parallel_backend.h: Likewise. + * include/pstl/parallel_backend_serial.h: Likewise. + * include/pstl/parallel_backend_tbb.h: Likewise. + * include/pstl/parallel_impl.h: Likewise. + * include/pstl/pstl_config.h: Likewise. + * include/pstl/unseq_backend_simd.h: Likewise. + * include/pstl/utils.h: Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc: + Likewise. + * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/includes.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/set.cc: + Likewise. + * testsuite/25_algorithms/pstl/alg_sorting/sort.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/reduce.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/scan.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: + Likewise. + * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc: + Likewise. + * testsuite/util/pstl/test_utils.h: + Likewise. + +2023-06-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110239 + * include/std/format (__format::__parse_integer): Fix buffer + overflow for wide chars. + (formatter<const void*, C>::format): Cast to uintptr_t instead + of uint64_t. + * testsuite/std/format/string.cc: Test too-large widths. + +2023-06-26 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/iterator_concepts.h (projected): Replace class + template with alias template denoting an ADL-proofed helper. + (incremental_traits<projected<Iter, Proj>>): Remove. + * testsuite/24_iterators/indirect_callable/projected-adl.cc: + New test. + +2023-06-26 Jonathan Wakely <jwakely@redhat.com> + + * include/debug/helper_functions.h (__get_distance) + (__check_singular, __valid_range_aux, __valid_range): Qualify + calls to disable ADL. + (__check_singular_aux(const _Safe_iterator_base*)): Declare + overload that was previously found via ADL. + +2023-06-23 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/vector.tcc (_M_realloc_insert): Replace try-block + with RAII types. + +2023-06-20 Jonathan Wakely <jwakely@redhat.com> + + * include/std/array (to_array(T(&)[N])): Remove redundant + condition. + (to_array(T(&&)[N])): Remove redundant std::move. + +2023-06-16 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/from_chars/4.cc: Skip long double on + aarch64-rtems. + +2023-06-16 Joel Brobecker <brobecker@adacore.com> + + * configure.ac ["x${with_newlib}" = "xyes"]: Define + HAVE_HYPOTF. Add compile-checks for various long double + math functions as well. + * configure: Regenerate. + +2023-06-14 Jonny Grant <jg@jguk.org> + + * doc/xml/manual/extensions.xml: Remove demangle exception + description and include. + * doc/html/manual/ext_demangling.html: Regenerate. + +2023-06-10 Hans-Peter Nilsson <hp@axis.com> + + * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main) + [! SIMULATOR_TEST]: Also exclude running test05. + * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto. + +2023-06-09 Ken Matsui <kmatsui@cs.washington.edu> + + * include/std/type_traits: Use using instead of typedef + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110077 + * src/c++17/floating_from_chars.cc (from_chars) <_Float128>: + Only define if _Float128 and long double have different + representations. + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/100285 + * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP] + (basic_endpoint, basic_resolver_entry, resolver_base) + (basic_resolver_results, basic_resolver): Only define if the tcp + or udp protocols will be defined. + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (libtool_VERSION): Update to 6.0.33. + * configure: Regenerate. + * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33. + * doc/html/manual/abi.html: Regenerate. + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110149 + * include/std/format (formatter<const void*, charT>::parse): + Only alow 0 and P for C++26 and non-strict modes. + (formatter<const void*, charT>::format): Use toupper for P + type, and insert zero-fill characters for 0 option. + * testsuite/std/format/functions/format.cc: Check pointer + formatting. Only check P2510R3 extensions conditionally. + * testsuite/std/format/parse_ctx.cc: Only check P2510R3 + extensions conditionally. + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110167 + * include/std/array (to_array): Initialize arrays of trivial + types using memcpy. For non-trivial types, use lambda + expressions instead of a separate helper function. + (__to_array): Remove. + * testsuite/23_containers/array/creation/110167.cc: New test. + +2023-06-09 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/23_containers/deque/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/list/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/vector/modifiers/emplace/52799.cc: + Removed. + * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc: + Removed. + * testsuite/23_containers/deque/modifiers/emplace/1.cc: New + test. + * testsuite/23_containers/list/modifiers/emplace/1.cc: New + test. + * testsuite/23_containers/vector/modifiers/emplace/1.cc: New + test. + +2023-06-07 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/110145 + * testsuite/20_util/to_chars/double.cc: Include <cfloat>. + (double_to_chars_test_cases, + double_scientific_precision_to_chars_test_cases_2, + double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6 + and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1. + Add unconditional tests with corresponding double constants + 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and + 0x1.7440bbff418b9p-18. + +2023-06-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_abi.cc (check_version): Re-add + CXXABI_1.3.14. + +2023-06-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc: + Require effective target exceptions_enabled instead of using + dg-skip-if. + * testsuite/23_containers/vector/capacity/constexpr.cc: Expect + shrink_to_fit() to be a no-op without exceptions enabled. + * testsuite/23_containers/vector/capacity/shrink_to_fit.cc: + Likewise. + * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc: + Require effective target exceptions_enabled. + * testsuite/ext/malloc_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/mt_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/new_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/pool_allocator/check_allocate_max_size.cc: + Likewise. + * testsuite/ext/throw_allocator/check_allocate_max_size.cc: + Likewise. + +2023-06-07 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/20_util/duration/cons/2.cc: Use values that aren't + affected by rounding. + * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to + double before comparing for equality. + * testsuite/20_util/from_chars/6.cc: Likewise. + * testsuite/20_util/variant/86874.cc: Use values that aren't + affected by rounding. + * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to + original value instead of to floating-point-literal. + * testsuite/26_numerics/random/discrete_distribution/cons/range.cc: + Cast arithmetic result to double before comparing for equality. + * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc: + Likewise. + * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc: + Likewise. + * testsuite/26_numerics/valarray/transcend.cc (eq): Check that + the absolute difference is less than 0.01 instead of comparing + to two decimal places. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc: + Cast arithmetic result to double before comparing for equality. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc: + Likewise. + * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc: + Likewise. + * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise. + +2023-06-07 Jonathan Wakely <jwakely@redhat.com> + + Revert: + 2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + * configure.ac: Use AS_IF. + * configure: Regenerate. + +2023-06-07 Thomas Schwinge <thomas@codesourcery.com> + + * testsuite/lib/prune.exp (libstdc++-dg-prune): Support + 'UNSUPPORTED: [...]: exception handling disabled'. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_abi.cc (check_version): Add + CXXABI_1.3.15 symver and make it the latestp. Remove + GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/104772 + * include/std/limits: (numeric_limits<__float128>): Define + for __STRICT_ANSI__ as well. + * testsuite/18_support/numeric_limits/128bit.cc: Remove + check for __STRICT_ANSI__. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + * configure.ac: Use AS_IF. + * configure: Regenerate. + +2023-06-06 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109822 + * include/experimental/bits/simd_builtin.h (_S_store): Rewrite + to avoid casts to other vector types. Implement store as + succession of power-of-2 sized memcpy to avoid PR90424. + +2023-06-06 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/110054 + * include/experimental/bits/simd_builtin.h (_S_masked_store): + Call into deduced ABI's SimdImpl after conversion. + * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt): + Don't use _mm_maskmoveu_si128. Use the generic fall-back + implementation. Also fix masked stores without SSE2, which + were not doing anything before. + +2023-06-06 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h (__bit_cast): Use + __gnu__::__vector_size__ instead of gnu::vector_size. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110139 + * include/std/array (__array_traits<T, 0>::operator T*()): Make + conversion operator explicit. + (array::front): Use size_type as subscript operand. + (array::data): Use static_cast to make conversion explicit. + * testsuite/23_containers/array/element_access/110139.cc: New + test. + +2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com> + + * include/bits/locale_classes.tcc: Remove check for + codecvt<char8_t, char, mbstate_t> facet. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set + close-on-exec flag on file descriptors. + +2023-06-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108178 + * src/filesystem/ops-common.h (do_copy_file): Check for empty + files by trying to read a character. + * testsuite/27_io/filesystem/operations/copy_file_108178.cc: + New test. + +2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com> + + * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_copy_file_range): + Define new function. + (do_copy_file): Use it. + +2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com> + + * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/filesystem/ops-common.h (copy_file_sendfile): Define new + function for sendfile logic. Loop to support large files. Skip + zero-length files. + (do_copy_file): Use it. + +2023-06-04 Jason Merrill <jason@redhat.com> + + PR c++/97720 + * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*. + * config/abi/pre/gnu.ver: Add it. + +2023-06-02 François Dumont <fdumont@gcc.gnu.org> + + * include/parallel/algobase.h: Include <parallel/search.h>. + +2023-06-01 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc: + Add const to equality operator. + +2023-06-01 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::and_then, expected::or_else) + (expected::transform_error): Use _M_val and _M_unex instead of + calling value() and error(), as per LWG 3938. + (expected::transform): Likewise. Remove incorrect std::move + calls from lvalue overloads. + (expected<void, E>::and_then, expected<void, E>::or_else) + (expected<void, E>::transform): Use _M_unex instead of calling + error(). + * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then + and transform, and for std::expected<void, E>. + * testsuite/20_util/expected/lwg3938.cc: New test. + +2023-06-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110060 + * include/bits/stl_vector.h (_Vector_base::_M_invariant): + Remove. + (vector::size, vector::capacity): Remove calls to _M_invariant. + * include/bits/vector.tcc (vector::_M_fill_assign): Add + optimization hint to reallocating path. + (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)): + Likewise. + * testsuite/23_containers/vector/capacity/invariant.cc: Moved + to... + * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc: + ...here. Check assign(FwdIter, FwdIter) too. + * testsuite/23_containers/vector/types/1.cc: Revert addition + of -Wno-stringop-overread option. + +2023-06-01 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/evolution.xml: Document removal of implicit + allocator rebinding extensions in strict mode and for C++20. + * doc/html/*: Regenerate. + +2023-06-01 Jason Merrill <jason@redhat.com> + + * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check + handlers in the cleanup phase. + +2023-06-01 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/110050 + * include/experimental/bits/simd.h (__vectorized_sizeof): With + __have_neon_a32 only single-precision float works (in addition + to integers). + +2023-06-01 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/stl_algo.h + (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move... + * include/bits/stl_algobase.h: ...here. + * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>. + * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>) + (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>): + Move... + * include/parallel/algobase.h: ...here. + * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm> + includes. Include <bits/stl_algobase.h>. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109818 + * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for + float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_global/cmath (float_t, double_t): Guard using new + _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math + functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks + for C99 rounding functions to here. + (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding + functions from here. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead + of _GLIBCXX_USE_C99_MATH_TR1. + * include/bits/random.tcc: Likewise. + * include/c_compatibility/math.h: Likewise. + * include/c_global/cmath: Likewise. + * include/ext/random: Likewise. + * include/ext/random.tcc: Likewise. + * include/std/complex: Likewise. + * testsuite/20_util/from_chars/4.cc: Likewise. + * testsuite/20_util/from_chars/8.cc: Likewise. + * testsuite/26_numerics/complex/proj.cc: Likewise. + * testsuite/26_numerics/headers/cmath/60401.cc: Likewise. + * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): + Likewise. + * testsuite/util/testsuite_random.h: Likewise. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New + function. + (vector::size(), vector::capacity()): Call _M_invariant(). + * testsuite/23_containers/vector/capacity/invariant.cc: New test. + * testsuite/23_containers/vector/types/1.cc: Add suppression for + false positive warning (PR110060). + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109921 + * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is + defined before trying to use _Float128. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers + to check __INT_PTR_WIDTH__ instead of sizeof(void*). + * configure: Regenerate. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/unique_lock.h: Include <bits/error_constants.h> + here for std::errc constants. + * include/std/mutex: Do not include <bits/error_constants.h> and + <exception> here. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * configure.ac: Replace use of -o operator for test. + * configure: Regenerate. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * include/std/scoped_allocator (scoped_allocator_adaptor): Add + noexcept to all constructors except the default constructor. + (scoped_allocator_adaptor::inner_allocator): Add noexcept. + (scoped_allocator_adaptor::outer_allocator): Likewise. + * testsuite/20_util/scoped_allocator/noexcept.cc: New test. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/104772 + * include/std/limits (numeric_limits<__float128>): Define. + * testsuite/18_support/numeric_limits/128bit.cc: New test. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and + msp430 to all 16-bit targets. + * configure: Regenerate. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109921 + * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS): + Only define when USE_STRTOD_FOR_FROM_CHARS is also defined. + (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is + binary64. + (from_chars(const char*, const char*, double&, chars_format)): + Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here. + (from_chars(const char*, const char*, _Float128&, chars_format)) + Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is + defined, otherwise parse a long double and convert to _Float128. + +2023-05-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109922 + * include/std/iomanip (operator>>(basic_istream&, _Setfill)): + Add deprecated attribute to non-standard overload. + * doc/xml/manual/evolution.xml: Document deprecation. + * doc/html/*: Regenerate. + * testsuite/27_io/manipulators/standard/char/1.cc: Add + dg-warning for expected deprecated warning. + * testsuite/27_io/manipulators/standard/char/2.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise. + * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise. + +2023-05-30 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/from_chars/4.cc: Skip long double test06 + on x86_64-vxworks. + * testsuite/20_util/to_chars/long_double.cc: Xfail run on + x86_64-vxworks. + +2023-05-30 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109822 + * include/experimental/bits/simd.h (to_native): Use int NTTP + as specified in PTS2. + (to_compatible): Likewise. Add missing tag to call mask + generator ctor. + * testsuite/experimental/simd/pr109822_cast_functions.cc: New + test. + +2023-05-30 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/tests/integer_operators.cc: + Compute expected value differently to avoid getting turned into + a vector shift. + +2023-05-30 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/tests/operator_cvt.cc: Make long + double <-> (u)long conversion tests conditional on sizeof(long + double) and sizeof(long). + +2023-05-26 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_ppc.h (_S_bit_shift_left): + Negative __y is UB, so prefer signed compare. + +2023-05-25 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/util/testsuite_allocator.h (PointerBase): Add + relational operators. + +2023-05-25 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/to_chars/long_double.cc: Expect execution + fail on x86-vxworks. + +2023-05-24 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109949 + * include/experimental/bits/simd.h (__intrinsic_type): If + __ALTIVEC__ is defined, map gnu::vector_size types to their + corresponding __vector T types without losing unsignedness of + integer types. Also prefer long long over long. + * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask + object to the expected unsigned vector type. + +2023-05-24 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109261 + * include/experimental/bits/simd.h (__intrinsic_type): + Specialize __intrinsic_type<double, 8> and + __intrinsic_type<double, 16> in any case, but provide the member + type only with __aarch64__. + +2023-05-24 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109261 + * include/experimental/bits/simd_neon.h (_S_reduce): Add + constexpr and make NEON implementation conditional on + not __builtin_is_constant_evaluated. + +2023-05-23 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/109261 + * include/experimental/bits/simd.h (_SimdWrapper::_M_set): + Avoid vector builtin subscripting in constant expressions. + (resizing_simd_cast): Avoid memcpy if constant_evaluated. + (const_where_expression, where_expression, where) + (__extract_part, simd_mask, _SimdIntOperators, simd): Add either + _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on + internal APIs). + * include/experimental/bits/simd_builtin.h (__vector_permute) + (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1) + (_GnuTraits::_SimdCastType2, _SimdImplBuiltin) + (_MaskImplBuiltin::_S_store): Add constexpr. + (_CommonImplBuiltin::_S_store_bool_array) + (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store) + (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add + constant_evaluated case. + * include/experimental/bits/simd_fixed_size.h + (_S_masked_load): Reword comment. + (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r) + (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write) + (__make_simd_tuple, __optimize_simd_tuple, __extract_part) + (__autocvt_to_simd, _Fixed::__traits::_SimdBase) + (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add + constexpr. + (_SimdTuple::operator[], _M_set): Add constexpr and add + constant_evaluated case. + (_MaskImplFixedSize::_S_load): Add constant_evaluated case. + * include/experimental/bits/simd_scalar.h: Add constexpr. + * include/experimental/bits/simd_x86.h (_CommonImplX86): Add + constexpr and add constant_evaluated case. + (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less) + (_S_less_equal): Value-initialize to satisfy constexpr + evaluation. + (_MaskImplX86::_S_load): Add constant_evaluated case. + (_MaskImplX86::_S_store): Add constexpr and constant_evaluated + case. Value-initialize local variables. + (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not) + (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated + case. + * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New + test. + +2023-05-22 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move + __infn into #ifdef'ed block. + * testsuite/experimental/simd/tests/fpclassify.cc: Declare + constants only when used. + * testsuite/experimental/simd/tests/frexp.cc: Likewise. + * testsuite/experimental/simd/tests/logarithm.cc: Likewise. + * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: + Likewise. + * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: + Move totest and expect1 into #ifdef'ed block. + +2023-05-19 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/strings.xml: Move lafstern.org reference to https. + * doc/html/manual/strings.html: Regenerate. + +2023-05-17 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/109883 + * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test. + +2023-05-17 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/109883 + * include/c_global/cmath (atan2, fmod, pow): Move + __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and + __gnu_cxx::__bfloat16_t overloads. + (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo): + Likewise. + (fma): Move __gnu_cxx::__promote_3 using template after + _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads. + +2023-05-17 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/18_support/headers/limits/synopsis.cc: Uncomment + checks for float_round_style and float_denorm_style. + +2023-05-17 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/c++config: Add system_header pragma. + +2023-05-17 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::and_then, expected::or_else) + (expected::transform, expected::transform_error): Fix exception + specifications as per LWG 3877. + (expected<void, E>::and_then, expected<void, E>::transform): + Likewise. + * testsuite/20_util/expected/lwg3877.cc: New test. + +2023-05-17 Ken Matsui <kmatsui@cs.washington.edu> + + * include/std/type_traits: Use __bool_constant instead of + integral_constant. + +2023-05-17 Jonathan Wakely <jwakely@redhat.com> + + * configure: Regenerate. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109741 + * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE. + * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not + align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE + instead of hardcoded 64. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11 + mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h> + functions in C++11 mode and define _GLIBCXX_USE_C99_FENV. + * config.h.in: Regenerate. + * configure: Regenerate. + * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV + instead of _GLIBCXX_USE_C99_FENV_TR1. + * include/c_global/cfenv: Likewise. + * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead + of _GLIBCXX_USE_C99_CTYPE_TR1. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in + C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for + <inttypes.h> features in C++11 mode and define + _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. + * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead + of _GLIBCXX_USE_C99_STDINT_TR1. + * include/c_compatibility/inttypes.h: Check + _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T + instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and + _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. + * include/c_compatibility/stdatomic.h: Check + _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1. + * include/c_compatibility/stdint.h: Likewise. + * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES + and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of + _GLIBCXX_USE_C99_INTTYPES_TR1 and + _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1. + * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT + instead of _GLIBCXX_USE_C99_STDINT_TR1. + * include/std/atomic: Likewise. + * src/c++11/cow-stdexcept.cc: Likewise. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: + Likewise. + * testsuite/lib/libstdc++.exp (check_v3_target_cstdint): + Likewise. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig + functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro. + * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC + instead of _GLIBCXX_USE_C99_COMPLEX_TR1. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add + assertion to ensure expected exception is throw. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/libstdc++-prettyprinters/chrono.cc: Only test + printer for chrono::zoned_time for cx11 ABI and tzdb effective + target. + +2023-05-16 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define + _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN. + * configure: Regenerate. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer + to check for nan, nanf, and nanl. + * configure: Regenerate. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/char_traits.h (char_traits<char16_t>): Do not + depend on _GLIBCXX_USE_C99_STDINT_TR1. + (char_traits<char32_t>): Likewise. + * include/experimental/source_location: Likewise. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t) + (atomic_int_least16_t, atomic_uint_least16_t) + (atomic_int_least32_t, atomic_uint_least32_t) + (atomic_int_least64_t, atomic_uint_least64_t) + (atomic_int_fast16_t, atomic_uint_fast16_t) + (atomic_int_fast32_t, atomic_uint_fast32_t) + (atomic_int_fast64_t, atomic_uint_fast64_t) + (atomic_intmax_t, atomic_uintmax_t): Define unconditionally. + * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/algorithmfwd.h (shuffle): Do not depend on + _GLIBCXX_USE_C99_STDINT_TR1. + * include/bits/ranges_algo.h (shuffle): Likewise. + * include/bits/stl_algo.h (shuffle): Likewise. + * include/ext/random: Likewise. + * include/ext/throw_allocator.h (random_condition): Likewise. + * include/std/random: Likewise. + * src/c++11/cow-string-inst.cc: Likewise. + * src/c++11/random.cc: Likewise. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/experimental/feat-cxx14.cc: Remove dependency on + _GLIBCXX_USE_C99_STDINT_TR1. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency + on _GLIBCXX_USE_C99_STDINT_TR1. + +2023-05-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/21_strings/basic_string_view/typedefs.cc: Remove + dependency on _GLIBCXX_USE_C99_STDINT_TR1. + * testsuite/experimental/string_view/typedefs.cc: Likewise. + +2023-05-11 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS] + (auto_locale, auto_ferounding): New class types. + (from_chars_impl): Use auto_locale and auto_ferounding. + +2023-05-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109772 + * include/std/chrono (hh_mm_ss::__fits): Remove variable + template. + (hh_mm_ss::__subseconds): Remove __fits from constraints. + * testsuite/std/time/hh_mm_ss/109772.cc: New test. + * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for + hh_mm_ss<duration<int, std::pico>>. + +2023-05-11 Jonathan Wakely <jwakely@redhat.com> + + * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. + * include/bits/basic_ios.h: Add static assertion checking + traits_type::value_type. + * include/bits/basic_string.h: Likewise. Do not rebind + allocator, and add static assertion checking its value_type. + (basic_string::_Alloc_traits_impl): Remove class template. + (basic_string::_S_allocate): New static member function. + (basic_string::assign): Use _S_allocate. + * include/bits/basic_string.tcc (basic_string::_M_create) + (basic_string::reserve, basic_string::_M_replace): Likewise. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc: + Disable for C++20 and later. + * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc: + Likweise. + +2023-05-11 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109758 + * include/bits/std_abs.h (abs(__float128)): Handle negative NaN + and negative zero correctly. + * testsuite/26_numerics/headers/cmath/109758.cc: New test. + +2023-05-10 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/hashtable_policy.h + (_NodeBuilder<>::_S_build): Use __node_ptr. + (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*. + (_AllocNode<>): Likewise. + (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved + to call std::is_permutation in the non-unique key implementation. + * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture + _M_begin() once. + (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline. + (_Hashtable<>::_M_insert_bucket_begin): Likewise. + (_Hashtable<>::_M_remove_bucket_begin): Likewise. + (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than + const_iterator. + (_Hashtable<>::find): Likewise. + (_Hashtable<>::_M_emplace): Likewise. + (_Hashtable<>::_M_insert_unique): Likewise. + +2023-05-09 Jonathan Wakely <jwakely@redhat.com> + + * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter): + Print floating-point durations correctly. + (StdChronoTimePointPrinter): Support printing only the value, + not the type name. Uncomment handling for known clocks. + (StdChronoZonedTimePrinter): Remove type names from output. + (StdChronoCalendarPrinter): Fix hh_mm_ss member access. + (StdChronoTimeZonePrinter): Add equals sign to output. + * testsuite/libstdc++-prettyprinters/chrono.cc: New test. + +2023-05-05 Alexandre Oliva <oliva@adacore.com> + + * testsuite/20_util/from_chars/4.cc: Skip long double test06 + on aarch64-vxworks. + * testsuite/20_util/to_chars/long_double.cc: Xfail run on + aarch64-vxworks. + +2023-05-04 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/abi.xml (abi.versioning.history): Document + libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version. + * doc/html/manual/abi.html: Regenerate. + +2023-05-04 Florian Weimer <fweimer@redhat.com> + + * doc/xml/manual/abi.xml (abi.versioning.history): Add + GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for + libgcc_s. + +2023-05-03 Jakub Jelinek <jakub@redhat.com> + + * src/c++17/floating_from_chars.cc + (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to + _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format. + * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to + _ZSt8to_charsPcS_u9__ieee128. + (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to + _ZSt8to_charsPcS_u9__ieee128St12chars_format. + (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to + _ZSt8to_charsPcS_u9__ieee128St12chars_formati. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated. + +2023-05-03 Jakub Jelinek <jakub@redhat.com> + + * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu + rather than powerpc64-linux-gnu for powerpc64le*-linux*. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove + _ZTI*DF128_, _ZTI*DF64x symbols and symbols in + GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol + versions. + * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New + file. + +2023-05-03 Kefu Chai <kefu.chai@scylladb.com> + Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109703 + * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)): + Initialize _M_string_length. + +2023-05-02 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + +2023-05-02 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/109694 + * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for + -Wattribute-alias. + +2023-04-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/random.h (gamma_distribution): Add to the right + doxygen group. + (discrete_distribution, piecewise_constant_distribution) + (piecewise_linear_distribution): Create a new doxygen group and + fix the incomplete doxygen comments. + * include/bits/uniform_int_dist.h (uniform_int_distribution): + Add to doxygen group. + +2023-04-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/uses_allocator.h: Add missing @file comment. + * include/bits/regex.tcc: Remove stray doxygen comments. + * include/experimental/memory_resource: Likewise. + * include/std/bit: Tweak doxygen @cond comments. + * include/std/expected: Likewise. + * include/std/numbers: Likewise. + +2023-04-28 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes + from header paths. + +2023-04-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/move.h: Simplify opening/closing namespace std. + +2023-04-28 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/108969 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export + _ZSt21ios_base_library_initv. + * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32 + symver and make it the latestp. + * src/c++98/ios_init.cc (ios_base_library_init): New alias. + * acinclude.m4 (libtool_VERSION): Change to 6:32:0. + * include/std/iostream: If init_priority attribute is supported + and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv + symbol into the object. + * configure: Regenerated. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/mofunc_impl.h: Fix typo in doxygen comment. + * include/std/format: Likewise. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME) + (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for + HTML docs. + * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit + from doxygen docs. + * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR): + Likewise. + * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR) + (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT) + (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT) + (_DEFINE_BINARY_OPERATOR): Likewise. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/memory_resource.h: Improve doxygen comments. + * include/std/memory_resource: Likewise. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/40380 + * include/bits/basic_string.h: Improve doxygen comments. + * include/bits/cow_string.h: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/fs_dir.h: Likewise. + * include/bits/fs_path.h: Likewise. + * include/bits/quoted_string.h: Likewise. + * include/bits/stl_bvector.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/stl_multimap.h: Likewise. + * include/bits/stl_multiset.h: Likewise. + * include/bits/stl_set.h: Likewise. + * include/bits/stl_vector.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/unordered_set.h: Likewise. + * include/std/filesystem: Likewise. + * include/std/iomanip: Likewise. + +2023-04-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/105081 + * src/c++11/random.cc (__throw_syserr): New function. + (random_device::_M_init, random_device::_M_init_pretr1): Use new + function for bad tokens. + (random_device::_M_getval): Use new function for read errors. + * testsuite/util/testsuite_random.h (random_device_available): + Change catch handler to use std::system_error. + +2023-04-24 Patrick Palka <ppalka@redhat.com> + + * include/bits/max_size_type.h (__max_diff_type::operator>>=): + Fix propagation of sign bit. + * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the + non-standard 'signed typedef-name'. Add some compile-time tests + for right-shifting a negative __max_diff_type value by more than + one. + +2023-04-19 Patrick Palka <ppalka@redhat.com> + Jonathan Wakely <jwakely@redhat.com> + + PR c++/100157 + * include/bits/utility.h (_Nth_type): Conditionally define in + terms of __type_pack_element if available. + * testsuite/20_util/tuple/element_access/get_neg.cc: Prune + additional errors from the new built-in. + +2023-04-19 Jonathan Wakely <jwakely@redhat.com> + + Revert: + 2023-04-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108969 + * src/Makefile.am: Move globals_io.cc to here. + * src/Makefile.in: Regenerate. + * src/c++98/Makefile.am: Remove globals_io.cc from here. + * src/c++98/Makefile.in: Regenerate. + * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust + symbol name and then export with GLIBCXX_3.4.31 symver. + (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerate. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/pre/gnu.ver: Add iostream objects to new symver. + +2023-04-19 Jonathan Wakely <jwakely@redhat.com> + + Revert: + 2023-04-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108969 + * config/abi/pre/gnu.ver: Fix preprocessor condition. + +2023-04-18 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/extensions.xml: Fix example to declare and + qualify std::free, and use NULL instead of 0. + * doc/html/manual/ext_demangling.html: Regenerate. + * libsupc++/cxxabi.h: Adjust doxygen comments. + +2023-04-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108969 + * config/abi/pre/gnu.ver: Fix preprocessor condition. + +2023-04-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108969 + * src/Makefile.am: Move globals_io.cc to here. + * src/Makefile.in: Regenerate. + * src/c++98/Makefile.am: Remove globals_io.cc from here. + * src/c++98/Makefile.in: Regenerate. + * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust + symbol name and then export with GLIBCXX_3.4.31 symver. + (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: + Regenerate. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: + Regenerate. + * config/abi/pre/gnu.ver: Add iostream objects to new symver. + +2023-04-18 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108827 + * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value + for C++23. + * include/std/ranges (range_adaptor_closure): Define for C++23. + * include/std/version (__cpp_lib_ranges): Bump value for + C++23. + * testsuite/std/ranges/version_c++23.cc: Bump expected value + of __cpp_lib_ranges. + * testsuite/std/ranges/range_adaptor_closure.cc: New test. + +2023-04-18 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (__cpp_lib_ranges_contains): + Define for C++23. + (__cpp_lib_ranges_iota): Likewise. + (__cpp_lib_ranges_find_last): Likewise. + (__cpp_lib_fold): Rename to ... + (__cpp_lib_ranges_fold): ... this. + * include/std/version: As above. + * testsuite/25_algorithms/fold_left/1.cc: Adjust after + renaming __cpp_lib_fold. + * testsuite/std/ranges/version_c++23.cc: Verify values + of the above feature-test macros. + +2023-04-18 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/109525 + * include/std/ranges (views::_AsConst::operator()): Add + missing const to constant_range test. + * testsuite/std/ranges/adaptors/as_const/1.cc (test02): + Improve formatting. Adjust expected type of v2. + (test03): New test. + +2023-04-14 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (const_iterator_t): Define for C++23. + (const_sentinel_t): Likewise. + (range_const_reference_t): Likewise. + (constant_range): Likewise. + (__cust_access::__possibly_const_range): Likewise, replacing ... + (__cust_access::__as_const): ... this. + (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. + (__cust_access::_CEnd::operator()): Likewise. + (__cust_access::_CRBegin::operator()): Likewise. + (__cust_access::_CREnd::operator()): Likewise. + (__cust_access::_CData::operator()): Likewise. + * include/bits/ranges_util.h (ranges::__detail::__different_from): + Make it an alias of std::__detail::__different_from. + (view_interface::cbegin): Define for C++23. + (view_interface::cend): Likewise. + * include/bits/stl_iterator.h (__detail::__different_from): Define. + (iter_const_reference_t): Define for C++23. + (__detail::__constant_iterator): Likewise. + (__detail::__is_const_iterator): Likewise. + (__detail::__not_a_const_iterator): Likewise. + (__detail::__iter_const_rvalue_reference_t): Likewise. + (__detail::__basic_const_iter_cat):: Likewise. + (const_iterator): Likewise. + (__detail::__const_sentinel): Likewise. + (const_sentinel): Likewise. + (basic_const_iterator): Likewise. + (common_type<basic_const_iterator<_Tp>, _Up>): Likewise. + (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. + (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>): + Likewise. + (make_const_iterator): Define for C++23. + (make_const_sentinel): Likewise. + * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. + (as_const_view): Likewise. + (enable_borrowed_range<as_const_view>): Likewise. + (views::__detail::__is_ref_view): Likewise. + (views::__detail::__can_is_const_view): Likewise. + (views::_AsConst, views::as_const): Likewise. + * include/std/span (span::const_iterator): Likewise. + (span::const_reverse_iterator): Likewise. + (span::cbegin): Likewise. + (span::cend): Likewise. + (span::crbegin): Likewise. + (span::crend): Likewise. + * include/std/version (__cpp_lib_ranges_as_const): Likewise. + * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to + behave independently of C++20 vs C++23. + * testsuite/std/ranges/version_c++23.cc: Verify value of + __cpp_lib_ranges_as_const macro. + * testsuite/24_iterators/const_iterator/1.cc: New test. + * testsuite/std/ranges/adaptors/as_const/1.cc: New test. + +2023-04-14 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_base.h (__cust_access::__as_const) + (__cust_access::_CBegin, __cust::cbegin) + (__cust_access::_CEnd, __cust::cend) + (__cust_access::_CRBegin, __cust::crbegin) + (__cust_access::_CREnd, __cust::crend) + (__cust_access::_CData, __cust::cdata): Move down definitions to + shortly after the definition of input_range. + +2023-04-14 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h: Include <optional> for C++23. + (__cpp_lib_fold): Define for C++23. + (in_value_result): Likewise. + (__detail::__flipped): Likewise. + (__detail::__indirectly_binary_left_foldable_impl): Likewise. + (__detail::__indirectly_binary_left_foldable): Likewise. + (___detail:__indirectly_binary_right_foldable): Likewise. + (fold_left_with_iter_result): Likewise. + (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. + (__fold_left_fn, fold_left): Likewise. + (__fold_left_first_with_iter_fn, fold_left_first_with_iter): + Likewise. + (__fold_left_first_fn, fold_left_first): Likewise. + (__fold_right_fn, fold_right): Likewise. + (__fold_right_last_fn, fold_right_last): Likewise. + * include/std/version (__cpp_lib_fold): Likewise. + * testsuite/25_algorithms/fold_left/1.cc: New test. + * testsuite/25_algorithms/fold_right/1.cc: New test. + +2023-04-14 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (formatter): Add comment to deleted default + constructor of primary template. + (_Checking_scanner): Add static_assert. + +2023-04-12 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/using.xml: Document libstdc++exp.a library. + * doc/html/*: Regenerate. + +2023-04-12 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names.cc [_AIX]: Do not define policy. + * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename + namespace to avoid clashing with libc struct. + * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: + Likewise. + * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX. + * testsuite/23_containers/unordered_multimap/96088.cc: Likewise. + * testsuite/23_containers/unordered_multiset/96088.cc: Likewise. + * testsuite/23_containers/unordered_set/96088.cc: Likewise. + * testsuite/experimental/synchronized_value.cc: Require gthreads + and add missing option for pthreads targets. + +2023-04-12 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (__cpp_lib_ranges_enumerate): Define + for C++23. + (__detail::__range_with_movable_reference): Likewise. + (enumerate_view): Likewise. + (enumerate_view::_Iterator): Likewise. + (enumerate_view::_Sentinel): Likewise. + (views::__detail::__can_enumerate_view): Likewise. + (views::_Enumerate, views::enumerate): Likewise. + * include/std/version (__cpp_lib_ranges_enumerate): Likewise. + * testsuite/std/ranges/version_c++23.cc: Verify value of + __cpp_lib_ranges_enumerate. + * testsuite/std/ranges/adaptors/enumerate/1.cc: New test. + +2023-04-12 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter): + Propagate _M_trailing_empty in the const-converting constructor + as per LWG 3904. + * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct + assertion. + * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test. + +2023-04-12 Patrick Palka <ppalka@redhat.com> + + * src/c++17/floating_from_chars.cc: Include <algorithm>, + <iterator>, <limits> and <cstdint>. + +2023-04-12 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108291 + * include/std/ranges (chunk_by_view::_M_find_next): Generalize + parameter types of the lambda wrapper passed to adjacent_find. + (chunk_by_view::_M_find_prev): Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05): + New tests. + +2023-04-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109482 + * include/experimental/internet (basic_endpoint::basic_endpoint()): + Ensure that the required union members are active. Only define + as constexpr for C++20 and later. + (basic_endpoint::basic_endpoint(const protocol_type&, port_type)): + Likewise. + * testsuite/experimental/net/internet/endpoint/cons.cc: Only + check constexpr default constructor for C++20 and later. + * testsuite/experimental/net/internet/endpoint/extensible.cc: + Likewise. + +2023-04-12 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdata.zi: Import new file from 2023c release. + +2023-04-05 Arsen Arsenović <arsen@aarsen.me> + + * include/precompiled/stdc++.h (C++17): Don't double-include + <charconv>, once with wrong conditions. + * testsuite/18_support/96817.cc: Require hosted. + * testsuite/18_support/bad_exception/59392.cc: Ditto. + * testsuite/20_util/scoped_allocator/108952.cc: Ditto. + * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto. + * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc: + Ditto. + +2023-04-05 Arsen Arsenović <arsen@aarsen.me> + + * include/bits/c++config: When __STDC_HOSTED__ is zero, + disable _GLIBCXX_DEBUG and, if it was set, enable + _GLIBCXX_ASSERTIONS. + * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode): + Include <bits/c++config.h> when determining whether debug is + set, in order to inherit the logic from above + +2023-04-05 Arsen Arsenović <arsen@aarsen.me> + + * testsuite/17_intro/versionconflict.cc: New test. + * include/std/version: Allow disabling the system_header pragma + via _GLIBCXX_TESTING_SYSHDR. + +2023-04-05 Arsen Arsenović <arsen@aarsen.me> + + * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory): + Synchronize the definition block with... + * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): + ... this one here. Also define the 202202L value, rather than + leaving it up to purely unique_ptr.h, so that the value is + synchronized across all headers. + (__gnu_debug::_Safe_iterator_base): Move into new conditional + block. + * include/std/memory (__cpp_lib_atomic_value_initialization): + Define on freestanding under the same conditions as in + atomic_base.h. + * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops): + Also define on freestanding. + (__cpp_lib_to_chars): Ditto. + (__cpp_lib_gcd): Ditto. + (__cpp_lib_gcd_lcm): Ditto. + (__cpp_lib_raw_memory_algorithms): Ditto. + (__cpp_lib_array_constexpr): Ditto. + (__cpp_lib_nonmember_container_access): Ditto. + (__cpp_lib_clamp): Ditto. + (__cpp_lib_constexpr_char_traits): Ditto. + (__cpp_lib_constexpr_string): Ditto. + (__cpp_lib_sample): Ditto. + (__cpp_lib_lcm): Ditto. + (__cpp_lib_constexpr_iterator): Ditto. + (__cpp_lib_constexpr_char_traits): Ditto. + (__cpp_lib_interpolate): Ditto. + (__cpp_lib_constexpr_utility): Ditto. + (__cpp_lib_shift): Ditto. + (__cpp_lib_ranges): Ditto. + (__cpp_lib_move_iterator_concept): Ditto. + (__cpp_lib_constexpr_numeric): Ditto. + (__cpp_lib_constexpr_functional): Ditto. + (__cpp_lib_constexpr_algorithms): Ditto. + (__cpp_lib_constexpr_tuple): Ditto. + (__cpp_lib_constexpr_memory): Ditto. + +2023-04-05 John David Anglin <danglin@gcc.gnu.org> + + * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double + timeout factor on hppa*-*-*. + +2023-04-05 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex.h (sub_match::swap): New function. + * testsuite/28_regex/sub_match/lwg3204.cc: New test. + +2023-04-04 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/extensions.xml: Remove std::bad_exception from + example program. + * doc/html/manual/ext_demangling.html: Regenerate. + +2023-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR tree-optimization/107087 + * include/bits/cow_string.h (basic_string::size()): Add + optimizer hint that _S_empty_rep()._M_length is always zero. + (basic_string::length()): Call size(). + +2023-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109339 + * include/std/stop_token (_Stop_state_ptr(const stop_source&)): + Add attribute access with access-mode 'none'. + * testsuite/30_threads/stop_token/stop_source/109339.cc: New test. + +2023-03-31 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (ip::basic_endpoint::_M_if_v6): + Revert change from member function to data member. Fix for + constant evaluation by detecting which union member is active. + (ip::basic_endpoint::resize): Revert changes to update _M_is_v6 + flag. + +2023-03-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109242 + * testsuite/20_util/optional/monadic/pr109340.cc: Moved to... + * testsuite/20_util/optional/monadic/pr109242.cc: ...here. + +2023-03-29 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (ip::make_address): Implement + missing overload. + (ip::address_v4::broadcast()): Avoid undefined shift. + (ip::basic_endpoint): Fix member functions for constexpr. + (ip::basic_endpoint::_M_is_v6): Replace member function with + data member, adjust member functions using it. + (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr + content. + * testsuite/experimental/net/internet/address/v4/cons.cc: Fix + constexpr checks to work in C++14. + * testsuite/experimental/net/internet/address/v4/creation.cc: + Likewise. + * testsuite/experimental/net/internet/endpoint/cons.cc: + Likewise. + * testsuite/experimental/net/internet/network/v4/cons.cc: + Likewise. + * testsuite/experimental/net/internet/network/v4/members.cc: + Likewise. + * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. + +2023-03-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/expected (expected::value() &): Use const lvalue + for unex member passed to bad_expected_access constructor, as + per LWG 3843. + +2023-03-29 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109340 + * include/std/expected (expected::transform): Use + std::remove_cv_t instead of std::remove_cvref_t. + (expected::transform_error): Likewise. + (expected<cv void, E>::transform): Likewise. + (expected<cv void, E>::transform_error): Likewise. + * include/std/optional (transform): Use std::remove_cv_t. + * testsuite/20_util/optional/monadic/pr109340.cc: New test. + +2023-03-29 Jonathan Wakely <jwakely@redhat.com> + + * include/std/optional (optional): Adjust static assertion to + reject arrays and functions as well as references. + * testsuite/20_util/optional/requirements_neg.cc: New test. + +2023-03-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/103387 + * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use + std::use_facet instead of cached _M_num_get facet. + (istream::operator>>(short&)): Likewise. + (istream::operator>>(int&)): Likewise. + * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use + std::use_facet instead of cached _M_num_put facet. + +2023-03-28 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/char_traits.h (char_traits::copy): Return without + using memcpy if n==0. + (char_traits::assign): Likewise for memset. + +2023-03-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109299 + * include/bits/basic_string.h (basic_string::_M_is_local()): Add + hint for compiler that local strings fit in the local buffer. + +2023-03-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109288 + * include/std/chrono (__detail::__get_leap_second_info): Update + expiry date of hardcoded leapseconds list. + * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()): + Likewise. + * src/c++20/tzdata.zi: Import new file from 2023a release. + * testsuite/std/time/time_zone/get_info_local.cc: Only check + transitions for Egypt up to 2014. + +2023-03-28 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h (is_simd_flag_type): New. + (_IsSimdFlagType): New. + (copy_from, copy_to, load ctors): Constrain _Flags using + _IsSimdFlagType. + +2023-03-28 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h (_SimdImplX86): Use + _Base::_S_divides if the optimized _S_divides function is hidden + via the preprocessor. + +2023-03-27 Jakub Jelinek <jakub@redhat.com> + + * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat + warning if size_t is not unsigned long. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)): + Add overload, as per LWG 3893. + * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: + Check assignment from nullptr. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (formatter<const charT[N], charT>): Do not + define partial speclialization, as per LWG 3833. + * testsuite/std/format/formatter/requirements.cc: Check it. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/utility (__cpp_lib_constexpr_algorithms): Define, + as per LWG 3792. + * testsuite/20_util/exchange/constexpr.cc: Check for it. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/version (__cpp_lib_format): Define. + * testsuite/std/format/functions/format.cc: Check it. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.tcc (basic_string::resize_and_overwrite): + Pass rvalues to the callback, as now allowed by LWG 3645. + Enforce preconditions on the return value. + * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: + Adjust. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format: Add a comment noting that the resolution + of LWG 3720 has been applied.. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/regex.h (match_results): Add allocator-extended + copy and move constructors, as per LWG 2195. + * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test. + +2023-03-22 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stream_iterator.h (istream_iterator): Add + constexpr to copy constructor, as per LWG 3600. + * testsuite/24_iterators/istream_iterator/cons/constexpr.cc: + Check copy construction. + +2023-03-21 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0 + with __RECIPROCAL_MATH__. + +2023-03-21 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_detail.h: Don't define + _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang. + * include/experimental/bits/simd_x86.h (_S_divides): Remove + check for __clang__. + +2023-03-21 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_detail.h: Don't declare the + simd API as constexpr with Clang. + * include/experimental/bits/simd_x86.h (__movm): New. + (_S_blend_avx512): Resolve FIXME. Implement blend using __movm + and ?:. + (_SimdImplX86::_S_masked_unary): Clang does not implement the + same builtins. Implement the function using __movm, ?:, and - + operators on vector_size types instead. + +2023-03-21 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/tests/operators.cc: Clang doesn't + define __GCC_IEC_559. Use __STDC_IEC_559__ instead. + +2023-03-20 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix + formatting. + +2023-03-20 Marek Polacek <polacek@redhat.com> + + PR c++/109159 + * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error. + * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise. + * testsuite/23_containers/span/explicit.cc: Likewise. + +2023-03-20 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109182 + * include/std/expected (expected<void>::expected(in_place_t)): + Remove template-head. + +2023-03-18 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109165 + * testsuite/18_support/coroutines/hash.cc: Use const object + in second call. + +2023-03-17 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109165 + * include/std/coroutine (hash<>::operator()): Add const. + * testsuite/18_support/coroutines/hash.cc: New test. + +2023-03-14 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/109111 + * include/std/ranges (repeat_view): Remove redundant parentheses + in requires-clause. + (repeat_view::_Iterator): Correct the requires-clause. + +2023-03-14 Patrick Palka <ppalka@redhat.com> + + * include/bits/stl_iterator.h (move_iterator::_S_iter_concept): + Define. + (__cpp_lib_move_iterator_concept): Define for C++20. + (move_iterator::iterator_concept): Strengthen as per P2520R0. + * include/std/version (__cpp_lib_move_iterator_concept): Define + for C++20. + * testsuite/24_iterators/move_iterator/p2520r0.cc: New test. + +2023-03-14 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_util.h (view_interface::empty): Add + preferred overloads that use ranges::size when the range is + sized as per LWG 3715. + * testsuite/std/ranges/adaptors/lwg3715.cc: New test. + +2023-03-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono.h (__is_duration_v, __is_time_point_v): + Only define for C++17 and later. + +2023-03-14 Jonathan Wakely <jwakely@redhat.com> + + * src/Makefile.am: Add comment about linker script fragments. + * src/Makefile.in: Regenerate. + +2023-03-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/62196 + * include/bits/mask_array.h (mask_array): Add assertions to + assignment operators. + * include/std/valarray (valarray::operator[](valarray<bool>)): + Add assertions. + * testsuite/26_numerics/valarray/mask-1_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-2_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-3_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-4_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-5_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-6_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-7_neg.cc: New test. + * testsuite/26_numerics/valarray/mask-8_neg.cc: New test. + * testsuite/26_numerics/valarray/mask.cc: New test. + +2023-03-13 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. + +2023-03-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/Makefile.am: Add comment referring to documentation. + * doc/Makefile.in: Regenerate. + +2023-03-13 Jonathan Wakely <jwakely@redhat.com> + + * doc/html/*: Regenerate. + +2023-03-13 Jonny Grant <jg@jguk.org> + + * doc/xml/faq.xml: Update copyright year. + +2023-03-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/allocator.h: Fix typo in comment. + +2023-03-12 Jakub Jelinek <jakub@redhat.com> + + * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos + if it isn't mangled as DF16b but u6__bf16. + +2023-03-12 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org + to https. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-03-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/109064 + * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker): + Remove self-recursion in __init__. Add missing _supports. + * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count() + and unique(). + +2023-03-09 Patrick Palka <ppalka@redhat.com> + + * include/std/ranges + (cartesian_product_view::_Iterator::_Iterator): Remove + constraint on default constructor as per LWG 3849. + (cartesian_product_view::_Iterator::_M_prev): Adjust position + of _Nm > 0 test as per LWG 3820. + (cartesian_product_view::_Iterator::_M_advance): Perform bounds + checking only on sized cartesian products. + * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. + +2023-03-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/109024 + * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per + LWG 3796. + (repeat_view::_M_pred): Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. + * testsuite/std/ranges/repeat/1.cc (test05): New test. + +2023-03-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108362 + * include/std/ranges (__detail::__can_single_view): New concept. + (_Single::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + (__detail::__can_iota_view): New concept. + (_Iota::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + (__detail::__can_istream_view): New concept. + (_Istream::operator()): Constrain it. Move [[nodiscard]] to the + end of the function declarator. + * testsuite/std/ranges/iota/iota_view.cc (test07): New test. + * testsuite/std/ranges/istream_view.cc (test08): New test. + * testsuite/std/ranges/single_view.cc (test07): New test. + +2023-03-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/107572 + * include/std/ranges (cartesian_product_view::end): When + building the tuple of iterators, avoid calling ranges::begin on + the first range if __empty_tail is false. + * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. + +2023-03-09 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108882 + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect + patterns. + +2023-03-07 Jakub Jelinek <jakub@redhat.com> + + * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. + * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. + * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. + +2023-03-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108882 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to + not match symbols in namespace std::__gnu_cxx11_ieee128. + * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for + std::__gnu_cxx11_ieee128::money_{get,put}. + +2023-03-07 Jonathan Wakely <jwakely@redhat.com> + + * libsupc++/eh_personality.cc: Fix spelling in comment. + +2023-03-03 Alexandre Oliva <oliva@adacore.com> + + * testsuite/30_threads/async/async.cc (test04): Initialize + steady_start, renamed from steady_begin, next to slow_start. + Increase tolerance for final wait. + +2023-03-03 Alexandre Oliva <oliva@adacore.com> + + * testsuite/libstdc++-prettyprinters/80276.cc: Add + std::string to debug info. + * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. + +2023-03-03 Alexandre Oliva <oliva@adacore.com> + + PR libstdc++/104852 + PR libstdc++/95989 + PR libstdc++/52590 + * include/bits/std_thread.h (thread::_M_thread_deps): New + static implicitly-inline member function. + (std::thread template ctor): Pass it to _M_start_thread. + * src/c++11/thread.cc (thread::_M_start_thread): Name depend + parameter, force it live on entry. + +2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. + * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: + Likewise. + * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. + * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: + Likewise. + +2023-03-01 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/cow_string.h: Fix typo in comment. + +2023-03-01 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if + current time zone cannot be determined. + * testsuite/std/time/tzdb/1.cc: Remove conditions based on + HAVE_TZDB macro and test all members unconditionally. + +2023-02-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108952 + * include/bits/uses_allocator_args.h + (uses_allocator_construction_args): Implement LWG 3527. + * testsuite/20_util/pair/astuple/get-2.cc: New test. + * testsuite/20_util/scoped_allocator/108952.cc: New test. + * testsuite/20_util/uses_allocator/lwg3527.cc: New test. + +2023-02-28 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108846 + * include/bits/stl_algobase.h (__copy_move<false, false, RA>) + Add __assign_one static member function. + (__copy_move<true, false, RA>): Likewise. + (__copy_move<IsMove, true, RA>): Do not use memmove for a single + value. + (__copy_move_backward<IsMove, true, RA>): Likewise. + * testsuite/25_algorithms/copy/108846.cc: New test. + * testsuite/25_algorithms/copy_backward/108846.cc: New test. + * testsuite/25_algorithms/copy_n/108846.cc: New test. + * testsuite/25_algorithms/move/108846.cc: New test. + * testsuite/25_algorithms/move_backward/108846.cc: New test. + +2023-02-28 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]] + attributes. + +2023-02-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_ios.h (basic_ios::_M_setstate): Add + caveat to comment. + * include/bits/basic_string.h (resize_and_overwrite): Add + doxygen comment. + +2023-02-24 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h: Line breaks and indenting + fixed to follow the libstdc++ standard. + * include/experimental/bits/simd_builtin.h: Likewise. + * include/experimental/bits/simd_fixed_size.h: Likewise. + * include/experimental/bits/simd_neon.h: Likewise. + * include/experimental/bits/simd_ppc.h: Likewise. + * include/experimental/bits/simd_scalar.h: Likewise. + * include/experimental/bits/simd_x86.h: Likewise. + +2023-02-24 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/108030 + * include/experimental/bits/simd_fixed_size.h + (_SimdImplFixedSize::_S_broadcast): Replace inline with + _GLIBCXX_SIMD_INTRINSIC. + (_SimdImplFixedSize::_S_generate): Likewise. + (_SimdImplFixedSize::_S_load): Likewise. + (_SimdImplFixedSize::_S_masked_load): Likewise. + (_SimdImplFixedSize::_S_store): Likewise. + (_SimdImplFixedSize::_S_masked_store): Likewise. + (_SimdImplFixedSize::_S_min): Likewise. + (_SimdImplFixedSize::_S_max): Likewise. + (_SimdImplFixedSize::_S_complement): Likewise. + (_SimdImplFixedSize::_S_unary_minus): Likewise. + (_SimdImplFixedSize::_S_plus): Likewise. + (_SimdImplFixedSize::_S_minus): Likewise. + (_SimdImplFixedSize::_S_multiplies): Likewise. + (_SimdImplFixedSize::_S_divides): Likewise. + (_SimdImplFixedSize::_S_modulus): Likewise. + (_SimdImplFixedSize::_S_bit_and): Likewise. + (_SimdImplFixedSize::_S_bit_or): Likewise. + (_SimdImplFixedSize::_S_bit_xor): Likewise. + (_SimdImplFixedSize::_S_bit_shift_left): Likewise. + (_SimdImplFixedSize::_S_bit_shift_right): Likewise. + (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be + explicit about not always-inline, yet). + (_SimdImplFixedSize::_S_isinf): Likewise. + (_SimdImplFixedSize::_S_isfinite): Likewise. + (_SimdImplFixedSize::_S_isnan): Likewise. + (_SimdImplFixedSize::_S_isnormal): Likewise. + (_SimdImplFixedSize::_S_signbit): Likewise. + +2023-02-24 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/108856 + * include/experimental/bits/simd_builtin.h + (_SimdImplBuiltin::_S_masked_unary): More efficient + implementation of masked inc-/decrement for integers and floats + without AVX2. + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract + builtins for masked inc-/decrement. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/executor (executor): Constrain template + constructors. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (basic_endpoint): Add missing + constexpr to comparison operators. + * testsuite/experimental/net/internet/endpoint/cons.cc: New test. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (network_v4::netmask()): Avoid + undefined shift. + (network_v4::broadcast()): Optimize and fix for targets with + uint_least32_t wider than 32 bits. + (network_v4::to_string(const Allocator&)): Fix for custom + allocators and optimize using to_chars. + (operator==(const network_v4&, const network_v4&)): Add missing + constexpr. + (operator==(const network_v6&, const network_v6&)): Likewise. + * testsuite/experimental/net/internet/network/v4/cons.cc: New test. + * testsuite/experimental/net/internet/network/v4/members.cc: New test. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (address_4(const bytes_type&)): + Use __builtin_bit_cast if available, otherwise convert to + network byte order. + (address_v4::to_bytes()): Likewise, but convert from network + byte order. + * testsuite/experimental/net/internet/address/v4/cons.cc: Fix + incorrect tests. Check for constexpr too. + * testsuite/experimental/net/internet/address/v4/creation.cc: + Likewise. + * testsuite/experimental/net/internet/address/v4/members.cc: + Check that bytes_type is a standard-layout type. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/internet (address_v4::to_string): + Optimize. + * testsuite/experimental/net/internet/address/v4/members.cc: + Check more addresses. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * include/ext/aligned_buffer.h (__aligned_buffer): Add + diagnostic pragmas. + +2023-02-24 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/format/arguments/lwg3810.cc: Move dg-options + before dg-do. + +2023-02-23 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/tests/reductions.cc: Introduce + max_distance as the type-dependent max error. + +2023-02-23 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_builtin.h (_S_set): Compare as + int. The actual range of these indexes is very small. + +2023-02-23 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h (_S_bit_shift_left) + (_S_bit_shift_right): Declare constexpr. The implementation was + already expecting constexpr evaluation. + +2023-02-23 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/108030 + * include/experimental/bits/simd_detail.h + (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for + __clang__. + +2023-02-23 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/108030 + * include/experimental/bits/simd.h (__vector_broadcast): + Implement via __vector_broadcast_impl instead of + __call_with_n_evaluations + 2 lambdas. + (__vector_broadcast_impl): New. + +2023-02-22 Alexandre Oliva <oliva@adacore.com> + + * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): + Avoid destruction of the mutex pool. + +2023-02-22 Alexandre Oliva <oliva@adacore.com> + + * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail + on vxworks. + * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: + Likewise. + +2023-02-22 Alexandre Oliva <oliva@adacore.com> + + * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in + kernel mode. + +2023-02-20 Andreas Schwab <schwab@linux-m68k.org> + + * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update. + +2023-02-20 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h (__extract_part, split): + Use reserved name for template parameter. + +2023-02-20 Andreas Schwab <schwab@suse.de> + + * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. + +2023-02-18 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/faq.xml: Switch two links to www.open-std.org to https. + * doc/html/faq.html: Regenerate. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_math.h (__hypot): Bitcasting + between scalars requires the __bit_cast helper function instead + of simd_bit_cast. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd_x86.h + (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less) + (_SimdImplX86::_S_less_equal): Do not call + __builtin_is_constant_evaluated in constexpr-if. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/tests/bits/verify.h + (verify::verify): Use %zx for size_t in format string. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/generate_makefile.sh: Generate and + pre-compile pch.h, which includes all headers that do not depend + on command-line macros. + * testsuite/experimental/simd/tests/bits/main.h: New file. + (iterate_abis, main): Moved from verify.h. + * testsuite/experimental/simd/tests/bits/verify.h + (iterate_abis, main): Moved to main.h. + * testsuite/experimental/simd/tests/bits/conversions.h: Add + include guard. + (genHalfBits): Simplify. + * testsuite/experimental/simd/tests/bits/make_vec.h: Add include + guard. + (make_alternating_mask): Moved from mask_loadstore. + * testsuite/experimental/simd/tests/bits/mathreference.h: Add + include guard. + * testsuite/experimental/simd/tests/bits/test_values.h: Ditto. + * testsuite/experimental/simd/tests/mask_loadstore.cc + (make_mask, make_alternating_mask): Removed. + * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto. + * testsuite/experimental/simd/tests/operators.cc (genHalfBits): + Removed. + * testsuite/experimental/simd/tests/abs.cc: Only include + bits/main.h. + Ditto. + * testsuite/experimental/simd/tests/algorithms.cc: Ditto. + * testsuite/experimental/simd/tests/broadcast.cc: Ditto. + * testsuite/experimental/simd/tests/casts.cc: Ditto. + * testsuite/experimental/simd/tests/fpclassify.cc: Ditto. + * testsuite/experimental/simd/tests/frexp.cc: Ditto. + * testsuite/experimental/simd/tests/generator.cc: Ditto. + * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto. + * testsuite/experimental/simd/tests/integer_operators.cc: Ditto. + * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc: + * testsuite/experimental/simd/tests/loadstore.cc: Ditto. + * testsuite/experimental/simd/tests/logarithm.cc: Ditto. + * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto. + * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto. + * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/mask_operators.cc: Ditto. + * testsuite/experimental/simd/tests/math_1arg.cc: Ditto. + * testsuite/experimental/simd/tests/math_2arg.cc: Ditto. + * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto. + * testsuite/experimental/simd/tests/reductions.cc: Ditto. + * testsuite/experimental/simd/tests/remqo.cc: Ditto. + * testsuite/experimental/simd/tests/simd.cc: Ditto. + * testsuite/experimental/simd/tests/sincos.cc: Ditto. + * testsuite/experimental/simd/tests/split_concat.cc: Ditto. + * testsuite/experimental/simd/tests/splits.cc: Ditto. + * testsuite/experimental/simd/tests/trigonometric.cc: Ditto. + * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto. + * testsuite/experimental/simd/tests/where.cc: Ditto. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * testsuite/experimental/simd/README.md: Document the timeout + and timeout-factor directives. Minor typo fixed. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + PR libstdc++/108030 + * include/experimental/bits/simd_detail.h: Define + _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. + * include/experimental/bits/simd.h: Annotate lambdas with + _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA. + * include/experimental/bits/simd_builtin.h: Ditto. + * include/experimental/bits/simd_converter.h: Ditto. + * include/experimental/bits/simd_fixed_size.h: Ditto. + * include/experimental/bits/simd_math.h: Ditto. + * include/experimental/bits/simd_neon.h: Ditto. + * include/experimental/bits/simd_x86.h: Ditto. + +2023-02-16 Matthias Kretz <m.kretz@gsi.de> + + * include/experimental/bits/simd.h + (_SimdWrapper::_M_is_constprop_none_of) + (_SimdWrapper::_M_is_constprop_all_of): Return false unless the + computed result still satisfies __builtin_constant_p. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8 + ellipsis character. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/Makefile.am: Add new header. + * include/Makefile.in: Regenerate. + * include/experimental/synchronized_value: New file. + * testsuite/experimental/synchronized_value.cc: New test. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/experimental/optional: Fix header name in comment. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/std/format (__format::_Arg_store): New class template. + (basic_format_args): Remove nested type _Store and add deduction + guide from _Arg_store. + (basic_format_arg, make_format_args): Adjust. + * testsuite/std/format/arguments/lwg3810.cc: New test. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling + constraints to constructors and add deleted overloads for the + dangling cases, as per P2255R2. + (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to + make dangling cases ill-formed. + * testsuite/20_util/pair/dangling_ref.cc: New test. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names_pstl.cc: Require et tbb_backend. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/ext/throw_allocator.h: Use reserved names for + parameters. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/17_intro/names_pstl.cc: Add space after effective + target name. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/pstl/algorithm_fwd.h (__pattern_search_n) + (__brick_unique_copy, __brick_adjacent_find) + (__brick_generate_n, __pattern_generate_n): Use reserved names + for parameters. + * include/pstl/algorithm_impl.h (__brick_unique_copy) + (__pattern_reverse, __brick_generate_n): Likewise. + * include/pstl/execution_impl.h (__prefer_unsequenced_tag) + (__prefer_parallel_tag): Likewise. + * include/pstl/glue_algorithm_impl.h (transform): Likewise. + * include/pstl/glue_numeric_defs.h (adjacent_difference): + Likewise. + * include/pstl/numeric_impl.h (__brick_adjacent_difference): + Likewise. + * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise. + * include/pstl/unseq_backend_simd.h (_Combiner) + (__simd_min_element, __simd_minmax_element): Likewise. + * testsuite/17_intro/names_pstl.cc: New test. + +2023-02-16 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_ops.h (create_directory): Use reserved name + for parameter. + * include/bits/ranges_algo.h (__contains_subrange_fn): + Likewise. + * include/bits/regex_automaton.h (_State_base::_M_print): + Likewise. + * include/bits/regex_automaton.tcc(_State_base::_M_print): + Likewise. + * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise. + * include/experimental/bits/fs_ops.h (create_directory): + Likewise. + * include/std/mutex (timed_mutex::_M_clocklock): Likewise. + (recursive_timed_mutex:_M_clocklock): Likewise. + * include/std/tuple (basic_common_reference): Likewise. + * libsupc++/cxxabi_init_exception.h + (__cxa_init_primary_exception): Likewise. + * testsuite/17_intro/names.cc: Add checks. + +2023-02-14 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link + to www.open-std.org and https. + * doc/html/manual/status.html: Regenerate. + +2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com> + + PR libstdc++/103934 + * include/std/atomic (atomic_flag_wait): Add. + (atomic_flag_wait_explicit): Add. + (atomic_flag_notify): Add. + (atomic_flag_notify_explicit): Add. + * testsuite/29_atomics/atomic_flag/wait_notify/1.cc: + Add test case to cover missing atomic_flag free functions. + +2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com> + + PR libstdc++/103934 + * include/std/atomic (atomic_flag_test): Add. + (atomic_flag_test_explicit): Add. + * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add + test case to cover missing atomic_flag free functions. + * testsuite/29_atomics/atomic_flag/test/implicit.cc: + Likewise. + +2023-02-13 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/policy_data_structures_biblio.xml: Adjust + "The Component Object Model" reference. + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-02-12 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/containers.xml: Tweak a link to N1780 + (C++ standard). + * doc/html/manual/associative.html: Regenerate. + +2023-02-12 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org. + * doc/html/manual/facets.html: Regenerate. + +2023-02-11 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/policy_data_structures_biblio.xml: Update + link to "Worst-case efficient priority queues". + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-02-06 Arsen Arsenović <arsen@aarsen.me> + + * doc/xml/manual/using.xml: Document newly-freestanding + headers and the effect of the -ffreestanding flag. + * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as + completed. + * doc/xml/manual/configure.xml: Document that hosted installs + respect __STDC_HOSTED__. + * doc/xml/manual/test.xml: Document how to run tests in + freestanding mode. + * doc/html/*: Regenerate. + +2023-02-06 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp. + (__find_last_if_fn): Likewise. + +2023-02-06 Jonathan Wakely <jwakely@redhat.com> + + * include/std/type_traits: Add diagnostic pragmas around + references to deprecated std::aligned_storage and + std::aligned_union traits. + * testsuite/20_util/aligned_storage/requirements/alias_decl.cc: + Add dg-warning for et c++23. + * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc: + Likewise. + * testsuite/20_util/aligned_storage/value.cc: Likewise. + * testsuite/20_util/aligned_union/1.cc: Likewise. + * testsuite/20_util/aligned_union/requirements/alias_decl.cc: + Likewise. + +2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros. + * include/bits/c++config (_GLIBCXX23_DEPRECATED) + (_GLIBCXX23_DEPRECATED_SUGGEST): New macros. + * include/std/type_traits (aligned_storage, aligned_union) + (aligned_storage_t, aligned_union_t): Deprecate for C++23. + * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test. + * testsuite/20_util/aligned_union/deprecated-2b.cc: New test. + +2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com> + + * doc/doxygen/user.cfg.in (PREDEFINED): Update macros. + * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make + consistent with other 'deprecated' macros. + * include/std/type_traits (is_pod, is_pod_v): Use + _GLIBCXX20_DEPRECATED_SUGGEST instead. + +2023-02-06 Arsen Arsenović <arsen@aarsen.me> + + * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory. + * Makefile.in: Regenerate. + * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files. + There's no history to be compatible with. + * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only + source files from the build. + * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise. + * src/Makefile.in: Regenerate. + * src/c++11/Makefile.in: Regenerate. + * src/c++17/Makefile.in: Regenerate. + * src/c++20/Makefile.in: Regenerate. + * src/c++98/Makefile.in: Regenerate. + +2023-02-06 Jonathan Wakely <jwakely@redhat.com> + + * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add + filesystem, libbacktrace and experimental. + * src/Makefile.in: Regenerate. + +2023-02-04 Hans-Peter Nilsson <hp@axis.com> + + PR libstdc++/108672 + * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__ + instead of int32_t. + +2023-02-04 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-02-04 François Dumont <fdumont@gcc.gnu.org> + + * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to + storage to the move-from instance when allocators are equal. + * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04): + New test case. + +2023-02-03 Samuel Thibault <samuel.thibault@gnu.org> + + * config/os/gnu-linux/os_defines.h [!__linux__] + (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define. + +2023-02-03 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (__find_last_fn, find_last): + Define. + (__find_last_if_fn, find_last_if): Define. + (__find_last_if_not_fn, find_last_if_not): Define. + * testsuite/25_algorithms/find_last/1.cc: New test. + * testsuite/25_algorithms/find_last_if/1.cc: New test. + * testsuite/25_algorithms/find_last_if_not/1.cc: New test. + +2023-02-03 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (out_value_result): Define. + (iota_result): Define. + (__iota_fn, iota): Define. + * testsuite/25_algorithms/iota/1.cc: New test. + +2023-02-03 Patrick Palka <ppalka@redhat.com> + + * include/bits/ranges_algo.h (__contains_fn, contains): Define. + (__contains_subrange_fn, contains_subrange): Define. + * testsuite/25_algorithms/contains/1.cc: New test. + * testsuite/25_algorithms/contains_subrange/1.cc: New test. + +2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/abi.xml: Tweak link to ABIcheck project. + * doc/html/manual/abi.html: Regenerate. + +2023-02-02 Jonathan Wakely <jwakely@redhat.com> + + * src/filesystem/ops-common.h [AVR] (__unsupported): Always use + errc::function_not_supported instead of errc::not_supported. + +2023-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/sstream (basic_stringbuf::view): Define for old + std::string ABI. + (basic_istringstream::view, basic_0stringstream::view) + (basic_stringstream::view): Likewise. + * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove + { dg-require-effective-target cxx11_abi }. + * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise. + * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc: + Likewise. + * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise. + * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise. + * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc: + Likewise. + +2023-02-02 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108636 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr + conversion operators for directory iterator comparisons with + std::default_sentinel_t. + * include/bits/fs_path.h (path::path(string_view, _Type)) + (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline + definitions to ... + * src/c++17/fs_path.cc: ... here. + * testsuite/27_io/filesystem/path/108636.cc: New test. + +2023-02-02 Jonathan Wakely <jwakely@redhat.com> + + * include/std/variant (variant::operator=): Implement resolution + of LWG 3585. + * testsuite/20_util/variant/lwg3585.cc: New test. + +2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org + link to https. + * doc/html/manual/using_exceptions.html: Regenerate. + +2023-02-02 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/debug.xml: Fix link to online GDB manual. + * doc/html/manual/debug.html: Regenerate. + +2023-02-01 Jonathan Wakely <jwakely@redhat.com> + + * src/c++11/random.cc (random_device::_M_fini): Do not try to + close the file handle if the target doesn't support the + /dev/random and /dev/urandom files. + +2023-02-01 Jonathan Wakely <jwakely@redhat.com> + + * config/os/generic/error_constants.h (errc::value_too_large) + [__AVR__]: Define. + * src/c++11/system_error.cc + (system_category::default_error_condition) [__AVR__]: Only match + recognize values equal to EDOM, ERANGE, ENOSYS and EINTR. + * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check + for ENOENT etc. in switch. + (fs::remove_all) [__AVR__]: Likewise. + * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open, + close etc. + +2023-02-01 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set + embed_zoneinfo=no + * configure: Regenerate. + +2023-02-01 Hans-Peter Nilsson <hp@axis.com> + + PR testsuite/108632 + * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty + struct at end of S0. + +2023-01-30 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/shared_ptr.xml: Move links from both + http://open-std.org and http://www.open-std.org to + https://www.open-std.org. + * doc/html/manual/memory.html: Regenerate. + +2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/appendix_contributing.xml: Adjust link to + ISO C++ standard at ANSI. + Move link to www.open-std.org to https. + * doc/html/manual/appendix_contributing.html: Regenerate. + +2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net + links to https. + * doc/html/manual/documentation_hacking.html: Regenerate. + +2023-01-28 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/abi.xml: Update www.open-std.org link to https. + * doc/html/manual/abi.html: Regenerate. + +2023-01-27 Jakub Jelinek <jakub@redhat.com> + + PR libstdc++/108568 + * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd + include features.h if present and then check __GLIBC__ and + __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing + __GLIBC_PREREQ which isn't defined yet. + +2023-01-27 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of + string literal. + +2023-01-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108554 + * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus. + +2023-01-26 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow + rules named "+" for compatibility with older tzdata.zi files. + +2023-01-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108554 + * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add + nonnull attribute. + (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull + attributes. + * testsuite/23_containers/map/modifiers/108554.cc: New test. + +2023-01-26 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108530 + * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in + /etc/sysconfig/clock, not DEFAULT_TIMEZONE. + +2023-01-26 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/intro.xml: Update links to www.open-std.org to + use https. + * doc/html/manual/bugs.html: Regenerate. + +2023-01-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108530 + * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in + /etc/sysconfig/clock. + +2023-01-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/102301 + * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for + std::make_reverse_iterator. + * include/std/tuple: Include <bits/ranges_util.h> for subrange. + (make_from_tuple): Add static assertion from P2255 to diagnose + dangling references. + * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. + * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. + +2023-01-23 François Dumont <fdumont@gcc.gnu.org> + + * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New. + (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New. + (_Safe_iterator::operator++(int)): Use latter. + (_Safe_iterator::operator--(int)): Likewise. + (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular() + check. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked): + New. + (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New. + (_Safe_local_iterator::operator++(int)): Use latter. + * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id + entry associated to the array entry. + +2023-01-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/fs_path.h (u8path): Add deprecated attribute. + * testsuite/27_io/filesystem/path/construct/90281.cc: Add + -Wno-deprecated-declarations for C++20 and later. + * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: + Likewise. + * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. + * testsuite/27_io/filesystem/path/native/string.cc: Likewise. + * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. + +2023-01-18 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]: + Always call _M_fini and _M_getentropy. + +2023-01-18 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links + to www.open-std.org to use https. + (COM: Component Model Object Technologies): Rename from... + (The Component Object Model): ...to. + * doc/html/manual/policy_data_structures.html: Regenerate. + +2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com> + + * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify. + * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify. + +2023-01-17 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead + of $host. Fix check for file being present during native build. + * configure: Regenerate. + +2023-01-17 Martin Liska <mliska@suse.cz> + + * src/libbacktrace/Makefile.in: Regenerate. + +2023-01-16 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. + +2023-01-16 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108413 + * include/c_compatibility/stdatomic.h: Change copyright line to + be consistent with other headers contributed under DCO terms. + * include/std/expected: Add full stop to copyright line. + * src/c++20/tzdb.cc: Likewise. + +2023-01-15 Gerald Pfeifer <gerald@pfeifer.com> + + * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to + https. + * doc/xml/manual/status_cxx2017.xml: Ditto. + * doc/xml/manual/status_cxx2020.xml: Ditto. + * doc/xml/manual/status_cxx2023.xml: Ditto. + * doc/html/manual/status.html: Regenerate. + +2023-01-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if + and fail gracefully if defining the weak symbol doesn't work. + +2023-01-15 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/108288 + * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock + fix to other iterator category. + (_Safe_iterator<>::operator--(int)): Likewise. + * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)): + Fix deadlock. + * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New. + (invalid_local_iterator_post_increment): New. + * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc: + New test. + * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc: + New test. + +2023-01-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from + dg-options. + +2023-01-15 Jonathan Wakely <jwakely@redhat.com> + + * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. + +2023-01-14 Björn Schäpers <bjoern@hazardy.de> + + * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for + windows.h. Add pecoff as FORMAT_FILE. + * config.h.in: Regenerate. + * configure: Regenerate. + * src/libbacktrace/Makefile.am: Regenerate. + * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE. + +2023-01-14 Björn Schäpers <bjoern@hazardy.de> + + * include/std/stacktrace (stacktrace_entry::_S_demangle): Use + raw __name if __cxa_demangle could not demangle it. + +2023-01-14 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108409 + * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment + variable. + +2023-01-14 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for + loading tzdb. + * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb + effective target. + * testsuite/std/time/tzdb_list/1.cc: Likewise. + +2023-01-14 Jonathan Wakely <jwakely@redhat.com> + + * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the + --with-libstdcxx-zoneinfo-dir configure option with + --with-libstdcxx-zoneinfo with yes/no/static choices as well as + a directory. + * config.h.in: Regenerate. + * configure: Regenerate. + * doc/xml/manual/configure.xml: Document configure option. + * doc/html/manual/configure.html: Regenerate. + * src/c++20/Makefile.am: Generate tzdata.zi.h header. + * src/c++20/Makefile.in: Regenerate. + * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a + null pointer if no directory is configured. + (zoneinfo_dir): Replace with ... + (zoneinfo_file): New function. + (tzdata_stream): New istream class. + (remote_version, reload_tzdb): Use tzdata_stream. + * testsuite/lib/libstdc++.exp (check_effective_target_tzdb): + Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of + tzdata.zi file in default location. + * src/c++20/tzdata.zi: New file. + +2023-01-14 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (operator<<): Fix syntax errors. + * testsuite/std/time/month_day/io.cc: New test. + * testsuite/std/time/month_day_last/io.cc: New test. + * testsuite/std/time/month_weekday/io.cc: New test. + * testsuite/std/time/month_weekday_last/io.cc: New test. + * testsuite/std/time/weekday_indexed/io.cc: New test. + * testsuite/std/time/weekday_last/io.cc: New test. + * testsuite/std/time/year_month/io.cc: New test. + * testsuite/std/time/year_month_day_last/io.cc: New test. + * testsuite/std/time/year_month_weekday/io.cc: New test. + * testsuite/std/time/year_month_weekday_last/io.cc: New test. + +2023-01-14 François Dumont <fdumont@gcc.gnu.org> + + * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol + specifications. + * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols + export. + +2023-01-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_mutex.h: Include <errno.h>. + +2023-01-13 Arsen Arsenović <arsen@aarsen.me> + + * testsuite/20_util/to_chars/version.cc: Mark hosted-only. + * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto. + * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of + std::make_unique with a freestanding-compatible wrapper around + unique_ptr. + * testsuite/21_strings/basic_string_view/operations/contains/char.cc: + Don't test for presence of __cpp_lib_string_contains on !HOSTED. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Ditto. + * testsuite/std/ranges/version_c++23.cc: Don't test for presence + of __cpp_lib_ranges in !HOSTED. + +2023-01-13 Arsen Arsenović <arsen@aarsen.me> + + * include/Makefile.am: Install bits/char_traits.h, + std/string_view + * include/Makefile.in: Regenerate. + * include/bits/char_traits.h: Gate hosted-only, wchar-only and + mbstate-only bits behind appropriate #ifs. + * include/std/string_view: Gate <iostream> functionality behind + HOSTED. + * include/std/version: Enable __cpp_lib_constexpr_string_view + and __cpp_lib_starts_ends_with in !HOSTED. + * include/std/ranges: Re-enable __is_basic_string_view on + freestanding, include <string_view> directly. + * include/precompiled/stdc++.h: Include <string_view> when + !HOSTED too. + * testsuite/20_util/function_objects/searchers.cc: Skip testing + boyer_moore searchers on freestanding + * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard + <string>-related tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. + * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove + unused <stdexcept> include. + * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove + unused <vector> include. + * testsuite/21_strings/basic_string_view/cons/char/range.cc: + Guard <string> related testing behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: + Guard <stdexcept> related tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/element_access/char/1.cc: + Ditto. + * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: + Guard <stdexcept> tests behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: + Enable test on freestanding, guard <stdexcept> bits behind + __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/substr/char.cc: + Guard <stdexcept> bits behind __STDC_HOSTED__. + * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: + Ditto. + +2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com> + + PR libstdc++/86419 + * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect + errors in incomplete multibyte sequences. + (utf16_in): Remove surrogates parameter. Fix conditions for + returning partial. + (utf16_out): Fix condition for returning partial. + (ucs2_in): Do not pass surrogates argument to utf16_in. + * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. + * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for + tests. + * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New + test. + +2023-01-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108331 + * config/io/c_io_stdio.h (__c_lock): Define as a typedef for + __GTHREAD_LEGACY_MUTEX_T if defined. + +2023-01-13 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108327 + * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31): + Export __try_use_facet specializations for facets in namespace + __gnu_cxx_ldbl128. + * config/os/gnu-linux/ldbl-ieee128-extra.ver + (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace + __gnu_cxx_ieee128. + * testsuite/util/testsuite_abi.cc: Add to lists of known and + latest versions. + +2023-01-13 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/std_mutex.h: Remove <system_error> include. + * include/std/condition_variable: Add <bits/error_constants.h> + include. + * include/std/mutex: Likewise. + * include/std/shared_mutex: Likewise. + +2023-01-12 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/77691 + * include/experimental/memory_resource + (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define. + (do_allocate, do_deallocate): Check it. + * testsuite/experimental/memory_resource/new_delete_resource.cc: + Relax expected behaviour for 64-bit hppa-hp-hpux11.11. + +2023-01-12 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/abi.xml: Add latest library versions. + * doc/html/manual/abi.html: Regenerate. + +2023-01-12 François Dumont <fdumont@gcc.gnu.org> + + PR libstdc++/107189 + * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove + unused _Alloc_node instance. + +2023-01-12 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/atomic_wait.h (__detail::__platform_wait_t): + Define as unsigned long if always lock-free, and unsigned int + otherwise. + +2023-01-10 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and + __catch macros for exception handling. + +2023-01-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108221 + * include/bits/stl_algobase.h (__lg): Replace six overloads with + a single function template for all integer types. + * include/bits/stl_algo.h (__merge_adaptive_resize): Cast + arithmetic results back to _Distance. + +2023-01-10 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108221 + * include/std/span (span::span()): Un-simplify constraint to + work for size_t of lesser rank than int. + +2023-01-07 LIU Hao <lh_mouse@126.com> + + PR middle-end/108300 + * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before + <windows.h>. + * src/c++11/thread.cc: Likewise. + * src/c++17/fs_ops.cc: Likewise. + * src/filesystem/ops.cc: Likewise. + +2023-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108228 + * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma. + +2023-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108235 + * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class + template and partial specialization for synchronizing access to + time_zone::_Impl::infos. + (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of + rules_counter. + +2023-01-06 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/108260 + * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23. + * include/std/ranges (__cpp_lib_ranges_zip): Likewise. + (__cpp_lib_ranges_chunk): Likewise. + (__cpp_lib_ranges_slide): Likewise. + (__cpp_lib_ranges_chunk_by): Likewise. + (__cpp_lib_ranges_join_with): Likewise. + (__cpp_lib_ranges_repeat): Likewise. + (__cpp_lib_ranges_stride): Likewise. + (__cpp_lib_ranges_cartesian_product): Likewise. + (__cpp_lib_ranges_as_rvalue): Likewise. + * include/std/version: Ditto. + * testsuite/20_util/tuple/p2321r2.cc: Verify value of + feature-test macro. + * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise. + * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise. + * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise. + * testsuite/std/ranges/adaptors/slide/1.cc: Likewise. + * testsuite/std/ranges/adaptors/stride/1.cc: Likewise. + * testsuite/std/ranges/cartesian_product/1.cc: Likewise. + * testsuite/std/ranges/repeat/1.cc: Likewise. + * testsuite/std/ranges/zip/1.cc: Likewise. + * testsuite/std/ranges/version_c++23.cc: New test. + +2023-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108214 + * include/std/bitset (operator>>): Use alloca in the right + scope, not in a constructor. + * testsuite/20_util/bitset/io/input.cc: Check case from PR. + +2023-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108221 + * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]: + Disable visiting floating-point types. + +2023-01-06 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108288 + * include/debug/safe_iterator.h (_Safe_iterator::operator++(int)) + (_Safe_iterator::operator--(int)): Do not hold lock around + construction of return value. + +2023-01-05 John David Anglin <danglin@gcc.gnu.org> + + * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define. + (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for + lock release. Revise loop. + (__atomic_add): Likewise. + +2023-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108212 + * python/libstdcxx/v6/printers.py (_utc_timezone): New global + variable. + (StdChronoTimePointPrinter::to_string): Use it. + +2023-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108290 + * include/std/functional (_Bind_front): Add no_unique_address + attribute to data members. + * testsuite/20_util/function_objects/bind_front/107784.cc: Check + size of call wrappers with empty types for targets and bound + arguments. + +2023-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108211 + * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone + using only last component of the name. + +2023-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108228 + PR libstdc++/108235 + * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to + the latest symbol version. + * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if + atomic<_Node*> is not always lock free. + (USE_ATOMIC_LIST_HEAD): New macro. + [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide + definition of weak symbol. + (tzdb_list::_Node::_S_head): Rename to _S_head_cache. + (tzdb_list::_Node::_S_list_head): New function for accessing + list head efficiently. + (tzdb_list::_Node::_S_cache_list_head): New function for + updating _S_list_head. + +2023-01-05 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108265 + * include/std/chrono (hh_mm_ss): Do not use chrono::abs if + duration rep is unsigned. + * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. + +2023-01-04 Iain Sandoe <iain@sandoe.co.uk> + + PR libstdc++/108228 + * config/abi/pre/gnu.ver (GLIBCXX_3.4): + Add __gnu_cxx::zoneinfo_dir_override(). + +2023-01-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108258 + * include/std/array (__array_traits<T, 0>::operator T*()): Add + constexpr. + * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check + std::array<T, 0>::data(). + + +Copyright (C) 2023 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. |