]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - libstdc++-v3/ChangeLog
Daily bump.
[thirdparty/gcc.git] / libstdc++-v3 / ChangeLog
index 8f9e418008c2f6ea70c7d0f9e47e2681b0d08922..d380315c17514ede01628b9eeb3c6ecd88547153 100644 (file)
@@ -1,3 +1,206 @@
+2024-02-01  Patrick Palka  <ppalka@redhat.com>
+
+       PR libstdc++/113309
+       PR libstdc++/109203
+       * include/bits/ranges_util.h (__detail::__pair_like): Don't
+       define in C++23 mode.
+       (__detail::__pair_like_convertible_from): Adjust as per P2165R4.
+       (__detail::__is_subrange<subrange>): Moved from <ranges>.
+       (__detail::__is_tuple_like_v<subrange>): Likewise.
+       * include/bits/stl_iterator.h: Include <bits/utility.h> for
+       C++23.
+       (__different_from): Move to <concepts>.
+       (__iter_key_t): Adjust for C++23 as per P2165R4.
+       (__iter_val_t): Likewise.
+       * include/bits/stl_pair.h (pair, array): Forward declare.
+       (get): Forward declare all overloads relevant to P2165R4
+       tuple-like constructors.
+       (__is_tuple_v): Define for C++23.
+       (__is_tuple_like_v): Define for C++23.
+       (__tuple_like): Define for C++23 as per P2165R4.
+       (__pair_like): Define for C++23 as per P2165R4.
+       (__eligibile_tuple_like): Define for C++23.
+       (__eligibile_pair_like): Define for C++23.
+       (pair::_S_constructible_from_pair_like): Define for C++23.
+       (pair::_S_convertible_from_pair_like): Define for C++23.
+       (pair::_S_dangles_from_pair_like): Define for C++23.
+       (pair::pair): Define overloads taking a tuple-like type for
+       C++23 as per P2165R4.
+       (pair::_S_assignable_from_tuple_like): Define for C++23.
+       (pair::_S_const_assignable_from_tuple_like): Define for C++23.
+       (pair::operator=): Define overloads taking a tuple-like type for
+       C++23 as per P2165R4.
+       * include/bits/utility.h (ranges::__detail::__is_subrange):
+       Moved from <ranges>.
+       * include/bits/version.def (tuple_like): Define for C++23.
+       * include/bits/version.h: Regenerate.
+       * include/std/concepts (__different_from): Moved from
+       <bits/stl_iterator.h>.
+       (ranges::__swap::__adl_swap): Clarify which __detail namespace.
+       * include/std/map (__cpp_lib_tuple_like): Define C++23.
+       * include/std/ranges (__detail::__is_subrange): Moved to
+       <bits/utility.h>.
+       (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
+       (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
+       (__detail::__tuple_or_pair): Remove as per P2165R4.  Replace all
+       uses with plain tuple as per P2165R4.
+       * include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
+       (__tuple_like_tag_t): Define for C++23.
+       (__tuple_cmp): Forward declare for C++23.
+       (_Tuple_impl::_Tuple_impl): Define overloads taking
+       __tuple_like_tag_t and a tuple-like type for C++23.
+       (_Tuple_impl::_M_assign): Likewise.
+       (tuple::__constructible_from_tuple_like): Define for C++23.
+       (tuple::__convertible_from_tuple_like): Define for C++23.
+       (tuple::__dangles_from_tuple_like): Define for C++23.
+       (tuple::tuple): Define overloads taking a tuple-like type for
+       C++23 as per P2165R4.
+       (tuple::__assignable_from_tuple_like): Define for C++23.
+       (tuple::__const_assignable_from_tuple_like): Define for C++23.
+       (tuple::operator=): Define overloads taking a tuple-like type
+       for C++23 as per P2165R4.
+       (tuple::__tuple_like_common_comparison_category): Define for C++23.
+       (tuple::operator<=>): Define overload taking a tuple-like type
+       for C++23 as per P2165R4.
+       (array, get): Forward declarations moved to <bits/stl_pair.h>.
+       (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
+       (apply): Likewise.
+       (make_from_tuple): Likewise.
+       (__tuple_like_common_reference): Define for C++23.
+       (basic_common_reference): Adjust as per P2165R4.
+       (__tuple_like_common_type): Define for C++23.
+       (common_type): Adjust as per P2165R4.
+       * include/std/unordered_map (__cpp_lib_tuple_like): Define for
+       C++23.
+       * include/std/utility (__cpp_lib_tuple_like): Define for C++23.
+       * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
+       and 2-tuple interchangeably.
+       (test05): New test.
+       * testsuite/20_util/pair/p2165r4.cc: New test.
+       * testsuite/20_util/tuple/p2165r4.cc: New test.
+
+2024-02-01  Patrick Palka  <ppalka@redhat.com>
+
+       * include/bits/stl_pair.h (pair::_S_const_assignable): Define,
+       factored out from ...
+       (pair::operator=): ... the constraints of the const overloads.
+
+2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/version.tpl: Do not use def-file-line for each
+       macro being defined.
+       * include/bits/version.h: Regenerate.
+
+2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
+       dg-error pattern.
+       * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.cc:
+       Likewise.
+       * testsuite/25_algorithms/equal/debug/constexpr_neg.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/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.
+
+2024-02-01  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/experimental/internet (network_v4::to_string()):
+       Remove lambda and use of resize_and_overwrite.
+
+2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
+       needed for newlocale.
+       * configure: Regenerate.
+       * src/c++26/text_encoding.cc: Use <xlocale.h>.
+
+2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
+           Ewan Higgs  <ewan.higgs@gmail.com>
+
+       * include/bits/text_encoding-data.h: Regenerate.
+       * scripts/gen_text_encoding_data.py: Add extra_aliases dict
+       containing "ASCII".
+       * testsuite/std/text_encoding/cons.cc: Check "ascii" is known.
+
+2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * doc/xml/manual/using.xml: Update tables of supported headers.
+       * doc/html/*: Regenerate.
+
+2024-01-31  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
+       -Wshift-count-overflow warning.
+
+2024-01-30  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/std/time/clock/gps/io.cc: Fix expected result in
+       assertion and call test_format() from main.
+
+2024-01-29  François Dumont  <fdumont@gcc.gnu.org>
+
+       * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
+       _GLIBCXX_DEBUG_BACKTRACE macro.
+
+2024-01-24  Huanghui Nie  <nnnjkk@gmail.com>
+           Théo Papadopoulo   <papadopoulo@gmail.com>
+
+       * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
+       _M_before_begin check and cleanup implementation.
+
+2024-01-22  Jonathan Wakely  <jwakely@redhat.com>
+
+       * testsuite/std/time/clock/file/io.cc: Fix expected result in
+       assertion and call test_format() from main.
+
+2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/113500
+       * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
+       printing of subseconds with floating-point rep.
+       (__formatter_chrono::_M_format_to_ostream): Do not write
+       time_point specializations directly to the ostream.
+       (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
+       empty chrono-spec if the type fails to meet the constraints for
+       writing to an ostream with operator<<.
+       * testsuite/std/time/clock/file/io.cc: Check formatting
+       non-integral times with empty chrono-specs.
+       * testsuite/std/time/clock/gps/io.cc: Likewise.
+       * testsuite/std/time/clock/utc/io.cc: Likewise.
+       * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
+
+2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       * include/bits/chrono.h (__file_clock::from_sys)
+       (__file_clock::to_sys, __file_clock::_S_from_sys)
+       (__file_clock::_S_to_sys): Use common_type for return type.
+       * testsuite/std/time/clock/file/members.cc: Check round trip
+       conversion for time with lower precision that seconds.
+
+2024-01-21  Jonathan Wakely  <jwakely@redhat.com>
+
+       PR libstdc++/113512
+       * include/std/format (__formatter_fp::format): Fix logic for
+       alternate forms.
+       * testsuite/std/format/functions/format.cc: Check buggy cases of
+       alternate forms with g presentation type.
+
+2024-01-20  Marek Polacek  <polacek@redhat.com>
+
+       PR c++/111410
+       * include/std/ranges: Add #pragma to disable -Wdangling-reference with
+       std::ranges::views::__adaptor::operator|.
+
 2024-01-19  Jonathan Wakely  <jwakely@redhat.com>
 
        * include/std/format (_Spec::_M_parse_fill_and_align): Do not