diff options
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r-- | libstdc++-v3/ChangeLog | 368 |
1 files changed, 368 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 8146dc5..65405a2 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,371 @@ +2025-04-11 Jonathan Wakely <jwakely@redhat.com> + + * src/c++17/fast_float/LOCAL_PATCHES: Update. + +2025-04-11 Evgeny Karpov <Evgeny.Karpov@microsoft.com> + + * src/c++17/fast_float/fast_float.h (full_multiplication): + Support aarch64-w64-mingw32 target. + +2025-04-11 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h (_S_copy_chars): Replace overloads + with constexpr-if and extend optimization to all contiguous + iterators. + * src/c++11/string-inst.cc: Extend comment. + +2025-04-11 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/111055 + * include/bits/version.def (containers_ranges): Define. + * include/bits/version.h: Regenerate. + * include/bits/ranges_base.h (__detail::__container_compatible_range) + (__detail::__range_to_alloc_type, __detail::__range_mapped_type) + (__detail::__range_key_type): Depend on __glibcxx_containers_ranges + instead of __glibcxx_ranges_to_container. + * include/bits/basic_string.h: Replace __glibcxx_ranges_to_container with + __glibcxx_containers_ranges. + * include/bits/cow_string.h: Likewise. + * include/bits/deque.tcc: Likewise. + * include/bits/forward_list.h: Likewise. + * include/bits/stl_bvector.h: Likewise. + * include/bits/stl_deque.h: Likewise. + * include/bits/stl_list.h: Likewise. + * include/bits/stl_map.h: Likewise. + * include/bits/stl_multimap.h: Likewise. + * include/bits/stl_multiset.h: Likewise. + * include/bits/stl_queue.h: Likewise. + * include/bits/stl_set.h: Likewise. + * include/bits/stl_stack.h: Likewise. + * include/bits/stl_vector.h: Likewise. + * include/bits/unordered_map.h: Likewise. + * include/bits/unordered_set.h: Likewise. + * include/bits/vector.tcc: Likewise. + * include/debug/deque: Likewise. + * include/debug/forward_list: Likewise. + * include/debug/list: Likewise. + * include/debug/map.h: Likewise. + * include/debug/multimap.h: Likewise. + * include/debug/multiset.h: Likewise. + * include/debug/set.h: Likewise. + * include/debug/unordered_map: Likewise. + * include/debug/unordered_set: Likewise. + * include/debug/vector: Likewise. + * include/std/deque: Provide __cpp_lib_containers_ranges. + * include/std/forward_list: Likewise. + * include/std/list: Likewise. + * include/std/map: Likewise. + * include/std/queue: Likewise. + * include/std/set: Likewise. + * include/std/stack: Likewise. + * include/std/string: Likewise. + * include/std/unordered_map: Likewise. + * include/std/unordered_set: Likewise. + * include/std/vector: Likewise. + * testsuite/21_strings/basic_string/cons/from_range.cc: Test for value + __cpp_lib_containers_ranges. + * testsuite/23_containers/deque/cons/from_range.cc: Likewise. + * testsuite/23_containers/forward_list/cons/from_range.cc: Likewise. + * testsuite/23_containers/list/cons/from_range.cc: Likewise. + * testsuite/23_containers/map/cons/from_range.cc: Likewise. + * testsuite/23_containers/multimap/cons/from_range.cc: Likewise. + * testsuite/23_containers/multiset/cons/from_range.cc: Likewise. + * testsuite/23_containers/priority_queue/cons_from_range.cc: Likewise. + * testsuite/23_containers/queue/cons_from_range.cc: Likewise. + * testsuite/23_containers/set/cons/from_range.cc: Likewise. + * testsuite/23_containers/stack/cons_from_range.cc: Likewise. + * testsuite/23_containers/unordered_map/cons/from_range.cc: Likewise. + * testsuite/23_containers/unordered_multimap/cons/from_range.cc: Likewise. + * testsuite/23_containers/unordered_multiset/cons/from_range.cc: Likewise. + * testsuite/23_containers/unordered_set/cons/from_range.cc: Likewise. + * testsuite/23_containers/vector/bool/cons/from_range.cc: Likewise. + * testsuite/23_containers/vector/cons/from_range.cc: Likewise. + +2025-04-11 Jonathan Wakely <jwakely@redhat.com> + Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/111055 + * include/bits/basic_string.h (_S_copy_range): New function. + (basic_string(from_range_t, R%%, const Alloc&)): New + constructor. + (append_range, assign_range, insert_range, replace_with_range): + New functions. + * include/bits/cow_string.h: Likewise. + * testsuite/21_strings/basic_string/cons/from_range.cc: New + test. + * testsuite/21_strings/basic_string/modifiers/append/append_range.cc: + New test. + * testsuite/21_strings/basic_string/modifiers/assign/assign_range.cc: + New test. + * testsuite/21_strings/basic_string/modifiers/insert/insert_range.cc: + New test. + * testsuite/21_strings/basic_string/modifiers/replace/replace_with_range.cc: + New test. + +2025-04-11 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/109162 + * include/bits/chrono_io.h (__detail::_Widen): Moved to std/format file. + * include/bits/unicode-data.h: Regnerate. + * include/bits/unicode.h (__unicode::_Utf_iterator::_M_units) + (__unicode::__should_escape_category): Define. + * include/std/format (_GLIBCXX_WIDEN_, _GLIBCXX_WIDEN): Copied from + include/bits/chrono_io.h. + (__format::_Widen): Moved from include/bits/chrono_io.h. + (__format::_Term_char, __format::_Escapes, __format::_Separators) + (__format::__should_escape_ascii, __format::__should_escape_unicode) + (__format::__write_escape_seq, __format::__write_escaped_char) + (__format::__write_escaped_acii, __format::__write_escaped_unicode) + (__format::__write_escaped): Define. + (__formatter_str::_S_trunc): Extracted truncation of character + sequences. + (__formatter_str::format): Handle _Pres_esc. + (__formatter_int::_M_do_parse) [__glibcxx_format_ranges]: Parse '?'. + (__formatter_int::_M_format_character_escaped): Define. + (formatter<_CharT, _CharT>::format, formatter<char, wchar_t>::format): + Handle _Pres_esc. + (__formatter_str::set_debug_format, formatter<...>::set_debug_format) + Guard with __glibcxx_format_ranges. + (__format::_Fixedbuf_sink): Define. + * testsuite/23_containers/vector/bool/format.cc: Use __format::_Widen + and remove unnecessary <chrono> include. + * testsuite/std/format/debug.cc: New test. + * testsuite/std/format/debug_nonunicode.cc: New test. + * testsuite/std/format/parse_ctx.cc (escaped_strings_supported): Define + to true if __glibcxx_format_ranges is defined. + * testsuite/std/format/string.cc (escaped_strings_supported): Define to + true if __glibcxx_format_ranges is defined. + +2025-04-10 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/version.def (constrained_equality): Only define + as 202411 for C++23 and later, use 202403 for C++20. + * include/bits/version.h: Regenerate. + * testsuite/20_util/expected/equality_constrained.cc: Remove + TODO comment. + +2025-04-10 John David Anglin <danglin@gcc.gnu.org> + + * config/os/hpux/os_defines.h: Remove _GLIBCXX_USE_LONG_LONG + define. + +2025-04-09 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/115046 + PR libstdc++/112490 + * include/bits/stl_iterator.h (basic_const_iterator::operator-): + Replace non-dependent basic_const_iterator function parameter with + a dependent one of type basic_const_iterator<_It2> where _It2 + matches _It. + * testsuite/std/ranges/adaptors/as_const/1.cc (test04): New test. + +2025-04-08 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119671 + * include/std/format (__formatter_fp::format): Do not invalidate + __wstr unless _M_localized returns a valid string. + * testsuite/std/format/functions/format.cc: Check wide string + formatting of floating-point types with classic locale. + +2025-04-07 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119642 + * include/bits/formatfwd.h: Remove stray pragma. + +2025-04-07 Jonathan Wakely <jwakely@redhat.com> + + * include/precompiled/stdc++.h: Include <stdbit.h> and + <stdckdint.h>. Include <stacktrace> unconditionally. + +2025-04-07 Jonathan Wakely <jwakely@redhat.com> + + * doc/doxygen/user.cfg.in (INPUT): Add flat_map, flat_set, + text_encoding, stdbit.h and stdckdint.h. + +2025-04-07 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119645 + * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY) [GCN, nvptx]: + Hard-code results. + * configure: Regenerate. + * configure.host [GCN, nvptx] (atomicity_dir): Set to + 'cpu/generic/atomicity_builtins'. + +2025-04-04 Patrick Palka <ppalka@redhat.com> + + PR libstdc++/119620 + * include/std/flat_set (_Flat_set_impl::_M_try_emplace): Split + out into two overloads, one taking at least one argument and one + taking zero arguments. Turn __k into an auto&& reference bound + to __arg if it's already a value_type and otherwise bound to a + lifetime-extended value_type temporary. + * testsuite/23_containers/flat_multiset/1.cc (test08): New test. + * testsuite/23_containers/flat_set/1.cc (test08): New test. + +2025-04-04 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101587 + * include/bits/ranges_uninitialized.h (__detail::__mindist): + Remove. + (ranges::uninitialized_copy, ranges::uninitialized_copy_n) + (ranges::uninitialized_move, ranges::uninitialized_move_n): Use + comparison and assignment instead of __mindist. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: + Check with ranges that use integer-like class type for + difference type. + * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: + Likewise. + +2025-04-04 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/109162 + * include/Makefile.am: Add bits/formatfwd.h. + * include/Makefile.in: Add bits/formatfwd.h. + * include/bits/version.def: Define __glibcxx_format_ranges without + corresponding std name. + * include/bits/version.h: Regenerate. + * include/std/format (basic_format_context, __format::__char): + Move declartions to bits/formatfwd.h. + (formatter<_Tp, _CharT>): Remove default argument for _CharT + parameter, now specified in forward declaration in bits/formatfwd.h. + * include/std/vector (formatter<_Bit_reference, _CharT>): Define. + * include/bits/formatfwd.h: New file with forward declarations + for bits of std/format. + * testsuite/23_containers/vector/bool/format.cc: New test. + +2025-04-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.h: Check __glibcxx_string_view and + __glibcxx_variant instead of __cplusplus >= 2017L. + * include/bits/cow_string.h: Likewise. + +2025-04-04 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/basic_string.tcc: Fix whitespace. + +2025-04-04 Arsen Arsenović <arsen@aarsen.me> + + * include/bits/version.tpl: Implement no_stdname. + * include/bits/version.def: Document no_stdname. + +2025-04-03 Thomas Schwinge <tschwinge@baylibre.com> + + * config/cpu/nvptx/t-nvptx: Remove. + * configure.host [nvptx]: Adjust. + +2025-04-03 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119573 + * config/cpu/nvptx/t-nvptx (AM_MAKEFLAGS): Don't amend. + +2025-04-03 Tomasz Kamiński <tkaminsk@redhat.com> + + * testsuite/std/format/functions/format.cc: Restored line. + +2025-04-03 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119593 + * include/bits/unicode.h + (__unicode::__literal_encoding_is_unicode<_CharT>): + Corrected handing for UTF-16 and UTF-32 with "LE" or "BE" suffix. + * include/std/format (__formatter_str::_S_character_width): + Define. + (__formatter_str::_S_character_width): Updated passed char + length. + * testsuite/std/format/functions/format.cc: Test for wchar_t. + +2025-04-02 John David Anglin <danglin@gcc.gnu.org> + + * config/os/hpux/os_defines.h: Only use long long when + __cplusplus >= 201103L. + +2025-04-02 Iain Sandoe <iain@sandoe.co.uk> + + * testsuite/lib/prune.exp: Prune ld warning about duplicatei + rpaths. + +2025-04-01 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114945 + * include/bits/vector.tcc (vector::_M_default_append): Add + unreachable condition so the compiler knows that _M_finish is + not null. + * testsuite/23_containers/vector/capacity/114945.cc: New test. + +2025-04-01 Thomas Schwinge <tschwinge@baylibre.com> + + PR target/119369 + * config/cpu/gcn/cpu_defines.h: New. + * configure.host [GCN] (cpu_defines_dir): Point to it. + +2025-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/110498 + * include/bits/vector.tcc (vector<bool, A>::_M_reallocate): + Hoist loads of begin() and end() before allocation and use them + to state an unreachable condition. + * testsuite/23_containers/vector/bool/capacity/110498.cc: New + test. + +2025-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/114758 + * include/bits/vector.tcc (vector<bool, A>::_M_fill_insert): + Hoist loads of begin() and end() before allocation. + * testsuite/23_containers/vector/bool/capacity/114758.cc: New + test. + +2025-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119550 + * acinclude.m4 (GLIBCXX_STRUCT_TM_TM_ZONE): New macro. + * config.h.in: Regenerate. + * configure: Regenerate. + * configure.ac: Use GLIBCXX_STRUCT_TM_TM_ZONE. + * include/bits/chrono_io.h (__formatter_chrono::_M_c): Check + _GLIBCXX_USE_STRUCT_TM_TM_ZONE instead of + _GLIBCXX_HAVE_STRUCT_TM_TM_ZONE. + +2025-03-31 Jonathan Wakely <jwakely@redhat.com> + + * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Make + std::basic_string::_M_construct patterns more precise. + +2025-03-31 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119545 + * include/std/tuple (operator==): Convert comparison results to + bool. + * testsuite/20_util/tuple/comparison_operators/119545.cc: New + test. + +2025-03-31 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119517 + * include/bits/chrono_io.h (formatter): + Add __format::__char for _CharT and adjust parse and format + method signatures. + * testsuite/std/time/format/pr119517.cc: New test. + +2025-03-31 Jakub Jelinek <jakub@redhat.com> + + PR tree-optimization/103827 + PR tree-optimization/80331 + PR tree-optimization/87502 + * config/abi/pre/gnu.ver (GLIBCXX_3.4.34): Use [jmy] rather than m + in pattern for _M_construct<bool>(char const*, size_t). + +2025-03-30 Jan Hubicka <hubicka@ucw.cz> + + PR tree-optimization/103827 + PR tree-optimization/80331 + PR tree-optimization/87502 + * config/abi/pre/gnu.ver: Add version for _M_construct<bool> + * include/bits/basic_string.h: (basic_string::_M_construct<bool>): Declare. + (basic_string constructors): Use it. + * include/bits/basic_string.tcc: (basic_string::_M_construct<bool>): New template. + * src/c++11/string-inst.cc: Instantated S::_M_construct<bool>. + 2025-03-28 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/117983 |