diff options
Diffstat (limited to 'libstdc++-v3/ChangeLog')
-rw-r--r-- | libstdc++-v3/ChangeLog | 433 |
1 files changed, 433 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index dccfffc..bae2bab 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,436 @@ +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 + * testsuite/23_containers/vector/modifiers/insert/117983.cc: New + test. + +2025-03-28 David Malcolm <dmalcolm@redhat.com> + + * testsuite/17_intro/shared_with_static_deps.cc: Fix malformed + dg-require-static-libstdcxx directive. + * testsuite/17_intro/static.cc: Likewise. + * testsuite/18_support/type_info/110572.cc: Likewise. + * testsuite/20_util/to_chars/4.cc: Likewise. + * testsuite/std/time/tzdb_list/pr118811.cc: Likewise. + +2025-03-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101587 + * include/bits/ranges_uninitialized.h (__detail::__mindist): + New function object. + (ranges::uninitialized_copy, ranges::uninitialized_copy_n) + (ranges::uninitialized_move, ranges::uninitialized_move_n): Use + __mindist instead of std::min. + * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: + Check ranges with difference difference types. + * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: + Likewise. + +2025-03-27 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/chrono_io.h (__formatter_chrono::_M_c): Use + const_cast when setting tm.tm_zone. + +2025-03-27 Jonathan Wakely <jwakely@redhat.com> + + * src/c++20/tzdata.zi: Import new file from 2025b release. + +2025-03-27 Sam James <sam@gentoo.org> + + * testsuite/std/format/string_neg.cc: Add missing brace for dg-error. + +2025-03-27 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + PR libstdc++/119488 + * include/bits/version.def (constexpr_algorithms): Bump + the feature-testing macro. + * include/bits/version.h: Regenerate. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Test the + bumped value for the feature-testing macro. + +2025-03-27 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/algorithmfwd.h (stable_partition): Mark it + as constexpr for C++26. + * include/bits/ranges_algo.h (__stable_partition_fn): Likewise. + * include/bits/stl_algo.h (stable_partition): Mark it as + constexpr for C++26; during constant evaluation use a new + codepath where a temporary buffer of 1 element is used. + * testsuite/25_algorithms/headers/algorithm/synopsis.cc + (stable_partition): Add constexpr. + * testsuite/25_algorithms/stable_partition/constexpr.cc: New test. + +2025-03-27 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/algorithmfwd.h (inplace_merge): Mark it as + constexpr for C++26. + * include/bits/ranges_algo.h (__inplace_merge_fn): Likewise. + * include/bits/stl_algo.h (inplace_merge): Mark it as constexpr; + during constant evaluation, dispatch to the non-allocating + codepath. + * testsuite/25_algorithms/headers/algorithm/synopsis.cc + (inplace_merge): Add constexpr. + * testsuite/25_algorithms/inplace_merge/constexpr.cc: New test. + +2025-03-27 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119469 + * include/bits/iterator_concepts.h (_IterMove::__result): Use + decltype-specifier instead of an explicit type. + * testsuite/24_iterators/customization_points/iter_move.cc: + Check results for function references. + +2025-03-26 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> + + * include/bits/version.def (constexpr_algorithms): Change + the value of the feature-testing macro. + * include/bits/version.h: Regenerate. + * testsuite/25_algorithms/cpp_lib_constexpr.cc: Amend the + check of the feature-testing macro. + +2025-03-26 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119415 + * include/std/flat_set (_Flat_set_impl:insert_range): + Replace __detail::__cpp17_input_iterator with __has_input_iter_cat. + * testsuite/23_containers/flat_multiset/1.cc: New tests + * testsuite/23_containers/flat_set/1.cc: New tests + +2025-03-26 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/111055 + * include/bits/deque.tcc (deque::prepend_range, deque::append_range) + (deque::insert_range, __advance_dist): Define. + (deque::_M_range_prepend, deque::_M_range_append): + Extract from _M_range_insert_aux for _ForwardIterator(s). + * include/bits/stl_deque.h (deque::assign_range): Define. + (deque::prepend_range, deque::append_range, deque::insert_range): + Declare. + (deque(from_range_t, _Rg&&, const allocator_type&)): Define constructor + and deduction guide. + * include/debug/deque (deque::prepend_range, deque::append_range) + (deque::assign_range): Define. + (deque(from_range_t, _Rg&&, const allocator_type&)): Define constructor + and deduction guide. + * testsuite/23_containers/deque/cons/from_range.cc: New test. + * testsuite/23_containers/deque/modifiers/append_range.cc: New test. + * testsuite/23_containers/deque/modifiers/assign/assign_range.cc: + New test. + * testsuite/23_containers/deque/modifiers/prepend_range.cc: New test. + * testsuite/23_containers/deque/modifiers/insert/insert_range.cc: New file. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + * include/std/ranges (ranges::to): Allow unions as well as + non-union class types. + * testsuite/std/ranges/conv/lwg4229.cc: New test. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/108487 + * include/bits/stl_vector.h (vector(initializer_list)): Call + _M_range_initialize_n instead of _M_range_initialize. + (vector(InputIterator, InputIterator)): Use _M_range_initialize_n + for C++20 sized sentinels and forward iterators. + (vector(from_range_t, R&&)): Use _M_range_initialize_n for sized + ranges and forward ranges. + (vector::_M_range_initialize(FwIt, FwIt, forward_iterator_tag)): + Likewise. + (vector::_M_range_initialize_n): New function. + * testsuite/23_containers/vector/cons/108487.cc: New test. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + * include/debug/vector (vector::assign_range): Use change in + capacity to detect reallocation. + (vector::insert_range, vector::append_range): Likewise. Remove + unused variables. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_bvector.h (vector::assign_range): More + efficient implementation for forward/sized ranges. + (vector::append_range): Handle potentially overlapping range. + * include/bits/stl_vector.h (vector(from_range_t, R&&, Alloc)): + Do not use append_range for non-sized input range case. + (vector::append_range): Handle potentially overlapping range. + * include/bits/vector.tcc (vector::insert_range): Forward range + instead of moving it. + * testsuite/23_containers/vector/bool/modifiers/insert/append_range.cc: + Test overlapping ranges. + * testsuite/23_containers/vector/modifiers/append_range.cc: + Likewise. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/118699 + * testsuite/27_io/filesystem/operations/copy.cc: Check copying a + file to a directory. + +2025-03-25 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/119429 + * include/std/format (__format::_Scanner::_Scanner): Cast + default argument to size_t. + +2025-03-25 Tomasz Kamiński <tkaminsk@redhat.com> + + PR libstdc++/119415 + * include/std/flat_set (_Flat_set_impl:insert_range): + Add __detail::__cpp17_input_iterator check. + * testsuite/23_containers/flat_multiset/1.cc: New tests + * testsuite/23_containers/flat_set/1.cc: New tests + +2025-03-24 Jonathan Wakely <jwakely@redhat.com> + + * doc/xml/manual/policy_data_structures_biblio.xml: Fix two + broken links. + * doc/html/manual/policy_data_structures.html: Regenerate. + +2025-03-24 Jonathan Wakely <jwakely@redhat.com> + + PR libstdc++/101527 + * testsuite/24_iterators/common_iterator/101527.cc: New test. + * testsuite/24_iterators/counted_iterator/101527.cc: New test. + +2025-03-24 Jonathan Wakely <jwakely@redhat.com> + + * include/bits/stl_bvector.h (vector<bool, A>): Enforce the + C++20 requirement that the allocator's value_type matches the + container. + * testsuite/23_containers/vector/bool/cons/from_range.cc: Fix + incorrect allocator type. + 2025-03-21 Jonathan Wakely <jwakely@redhat.com> PR libstdc++/117214 |