aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r--libstdc++-v3/ChangeLog368
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