gcc/libstdc++-v3/ChangeLog
GCC Administrator 444a31f3b3 Daily bump.
2024-01-13 00:18:48 +00:00

306 lines
11 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2024-01-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/107466
* include/bits/random.tcc (subtract_with_carry_engine::seed):
Implement proposed resolution of LWG 4014.
* testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
line number.
* testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
Check for expected result of 64-bit engine with seed that
doesn't fit in 32-bits.
2024-01-12 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/113320
* include/std/format (__format::_Runtime_format_string): Add
constructor and disable copy operations.
(basic_format_string(_Runtime_format_string)): Add noexcept and
take parameter by value not rvalue reference.
(runtime_format): Add noexcept.
* testsuite/std/format/runtime_format.cc: Check noexcept. Check
that construction is only possible from prvalues, not xvalues.
2024-01-12 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/105505
* include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
default template arguments, as per P1951R1.
* testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
2024-01-12 Jonathan Wakely <jwakely@redhat.com>
* include/std/format (__format::_Arg_store): Fix PR number in
comment. Simplify preprocessor code.
2024-01-11 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/evolution.xml: Fix spelling.
* doc/html/manual/api.html: Regenerate.
2024-01-11 Jonathan Wakely <jwakely@redhat.com>
* doc/xml/manual/evolution.xml: Document addition of
libstdc++exp.a.
* doc/html/*: Regenerate.
2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com>
* libsupc++/eh_unex_handler.cc: Adjust definition type to
declaration.
2024-01-11 Michael Levine <mlevine55@bloomberg.net>
* include/std/ranges (__glibcxx_want_ranges_iota): Remove
duplicate definition.
2024-01-11 François Dumont <fdumont@gcc.gnu.org>
PR libstdc++/112477
* src/c++11/debug.cc
(_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
sequence.
(_Safe_iterator_base::_M_attach_single): Likewise.
(_Safe_local_iterator_base::_M_attach): Likewise.
(_Safe_local_iterator_base::_M_attach_single): Likewise.
* testsuite/23_containers/map/debug/112477.cc: New test case.
2024-01-11 Patrick Palka <ppalka@redhat.com>
* include/bits/move.h (__like_t): Define in C++23 mode.
* include/std/ranges (views::__adaptor::Partial::operator()):
Implement using C++23 deducing this when available.
(views::__adaptor::_Pipe::operator()): Likewise.
* testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
accept new "no match for call" errors issued in C++23 mode.
* testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
2024-01-11 Jonathan Wakely <jwakely@redhat.com>
* python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
Add printer for std::integral_constant.
* testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
2024-01-11 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/113258
* libsupc++/new_opa.cc: Prefer to use posix_memalign if
available.
2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
* src/filesystem/ops-common.h (stat_type): Use using.
2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
PR libstdc++/113250
* src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
* src/filesystem/ops.cc (fs::equivalent): Likewise.
* testsuite/27_io/filesystem/operations/equivalent.cc: Handle
error codes.
* testsuite/experimental/filesystem/operations/equivalent.cc:
Likewise.
2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
* include/std/type_traits (is_compound): Do not use __not_.
(is_compound_v): Use is_fundamental_v instead.
2024-01-11 Patrick Palka <ppalka@redhat.com>
* include/bits/utility.h (_Nth_type): Use
_GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
2024-01-09 Jonathan Wakely <jwakely@redhat.com>
* include/bits/unicode-data.h: Regenerate.
* include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
by one error.
(__incb_property): Add missing check for values before the
first edge.
(__is_extended_pictographic): Invert return values to fix
copy&pasted logic.
(_Grapheme_cluster_view::_Iterator): Remove second iterator
member and find end of cluster lazily.
* testsuite/ext/unicode/grapheme_view.cc: New test.
* testsuite/ext/unicode/properties.cc: New test.
* testsuite/ext/unicode/view.cc: New test.
2024-01-09 Andreas Schwab <schwab@linux-m68k.org>
* scripts/extract_symvers.in: Require final colon to only match
.dsynsym in the header of the dynamic symtab.
2024-01-09 Jonathan Wakely <jwakely@redhat.com>
* include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
handling of string returned from std::format.
(__formatter_chrono::_M_R_T): Likewise.
2024-01-08 Jonathan Wakely <jwakely@redhat.com>
* include/bits/unicode.h (__null_sentinel): Remove.
* testsuite/17_intro/names.cc: Add __null_sentinel.
2024-01-08 Jonathan Wakely <jwakely@redhat.com>
* include/std/format (__format::_Runtime_format_string): Define
new class template.
(basic_format_string): Add non-consteval constructor for runtime
format strings.
(runtime_format): Define new function for C++26.
* testsuite/std/format/runtime_format.cc: New test.
2024-01-08 Jonathan Wakely <jwakely@redhat.com>
* include/bits/chrono_io.h (__formatter_chrono): Always use
lvalue arguments to make_format_args.
* include/std/format (make_format_args): Change parameter pack
from forwarding references to lvalue references. Remove use of
remove_reference_t which is now unnecessary.
(format_to, formatted_size): Remove incorrect forwarding of
arguments.
* include/std/ostream (print): Remove forwarding of arguments.
* include/std/print (print): Likewise.
* testsuite/20_util/duration/io.cc: Use lvalues as arguments to
make_format_args.
* testsuite/std/format/arguments/args.cc: Likewise.
* testsuite/std/format/arguments/lwg3810.cc: Likewise.
* testsuite/std/format/functions/format.cc: Likewise.
* testsuite/std/format/functions/vformat_to.cc: Likewise.
* testsuite/std/format/string.cc: Likewise.
* testsuite/std/time/day/io.cc: Likewise.
* testsuite/std/time/month/io.cc: Likewise.
* testsuite/std/time/weekday/io.cc: Likewise.
* testsuite/std/time/year/io.cc: Likewise.
* testsuite/std/time/year_month_day/io.cc: Likewise.
* testsuite/std/format/arguments/args_neg.cc: New test.
2024-01-08 Jonathan Wakely <jwakely@redhat.com>
* include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
* include/bits/unicode.h: New file.
* include/bits/unicode-data.h: New file.
* include/std/format: Include <bits/unicode.h>.
(__literal_encoding_is_utf8): Move to <bits/unicode.h>.
(_Spec::_M_fill): Change type to char32_t.
(_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
instead of a single character.
(__write_padded): Change __fill_char parameter to char32_t and
encode it into the output.
(__formatter_str::format): Use new __unicode::__field_width and
__unicode::__truncate functions.
* include/std/ostream: Adjust namespace qualification for
__literal_encoding_is_utf8.
* include/std/print: Likewise.
* src/c++23/print.cc: Add [[unlikely]] attribute to error path.
* testsuite/ext/unicode/view.cc: New test.
* testsuite/std/format/functions/format.cc: Add missing examples
from the standard demonstrating alignment with non-ASCII
characters. Add examples checking correct handling of extended
grapheme clusters.
2024-01-08 Jonathan Wakely <jwakely@redhat.com>
* include/bits/version.def (format_uchar): Define.
* include/bits/version.h: Regenerate.
* include/std/format (formatter<C, C>::format): Check for
_Pres_c and call _M_format_character directly. Cast C to its
unsigned equivalent for formatting as an integer.
(formatter<char, wchar_t>::format): Likewise.
(basic_format_arg(T&)): Store char arguments as unsigned char
for formatting to a wide string.
* testsuite/std/format/functions/format.cc: Adjust test. Check
formatting of
2024-01-07 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/112997
* libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
parameter to void*.
2024-01-07 Jonathan Wakely <jwakely@redhat.com>
* testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
2024-01-07 Jonathan Wakely <jwakely@redhat.com>
* include/std/type_traits (is_trivially_destructible_v): Use
built-in directly when concepts are supported.
* testsuite/20_util/is_trivially_destructible/value_v.cc: New
test.
2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com>
* testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
nonnull arguments to strtoimax() and wcstoimax() functions.
2024-01-05 Jonathan Wakely <jwakely@redhat.com>
* src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
size and check for overflows in arithmetic.
(path::operator/=(const path&)): Remove redundant exponential
growth calculation.
2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com>
* src/c++17/fs_path.cc (path::_List::reserve): Avoid
floating-point arithmetic.
2024-01-05 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/113241
* include/std/type_traits (is_convertible_v): Guard use of
built-in with preprocessor check.
2024-01-05 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/113200
* include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
__builtin_constant_p to check for unrelated pointers that cannot
be compared during constant evaluation.
* testsuite/21_strings/char_traits/requirements/113200.cc: New
test.
2024-01-05 Cassio Neri <cassio.neri@gmail.com>
* include/std/chrono: Fix + and - for months and weekdays.
* testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
* testsuite/std/time/month/2.cc: New test for extreme values.
* testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
* testsuite/std/time/weekday/2.cc: New test for extreme values.
2024-01-05 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/113099
* include/bits/locale_classes.tcc (__try_use_facet): Use
if-constexpr for C++11 and up.
2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org>
* include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
2024-01-04 Arsen Arsenović <arsen@aarsen.me>
* include/std/generator (_Subyield_state::_M_jump_in): Fix typo
reported by Will Hawkins <hawkinsw@obs.cr>.
2024-01-04 Arsen Arsenović <arsen@aarsen.me>
* include/std/generator (_Stateless_alloc): Rename typename _A
to _All.
2024-01-03 Patrick Palka <ppalka@redhat.com>
PR testsuite/113175
* testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
(test03): Likewise.
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
notice and this notice are preserved.