-2022-12-12 Jonathan Wakely <jwakely@redhat.com>
+2023-06-02 François Dumont <fdumont@gcc.gnu.org>
- * testsuite/20_util/duration/arithmetic/overflow_c++20.cc: New
- test.
-
-2022-12-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108024
- * include/std/format (basic_format_string): Fix constraint.
- * testsuite/std/format/format_string.cc: New test.
-
-2022-12-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (hh_mm_ss): Rename __is_unsigned member to
- _S_is_unsigned.
- * include/std/format (basic_format_context): Rename _Out_
- template parameter to _Out2.
- * testsuite/17_intro/names.cc: Add Windows SAL annotation
- macros.
-
-2022-12-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/98034
- * include/std/atomic (__cpp_lib_atomic_lock_free_type_aliases):
- Define macro.
- (atomic_signed_lock_free, atomic_unsigned_lock_free): Define
- aliases.
- * include/std/version (__cpp_lib_atomic_lock_free_type_aliases):
- Define macro.
- * testsuite/29_atomics/atomic/lock_free_aliases.cc: New test.
-
-2022-12-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (operator<<): Only output to narrow
- ostreams (LWG 3515).
- * testsuite/19_diagnostics/stacktrace/synopsis.cc:
-
-2022-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108015
- * include/std/chrono (hh_mm_ss): Remove digit separators.
-
-2022-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/pb_ds/detail/type_utils.hpp (PB_DS_STATIC_ASSERT):
- Add unused attribute to avoid -Wunused-local-typedef warnings.
- * testsuite/17_intro/tag_type_explicit_ctor.cc: Add pragma to
- ignore -Wunused-variable warnings
-
-2022-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono.h (duration_cast, floor, round, abs, ceil)
- (time_point_cast): Add [[nodiscard]] attribute and doxygen
- comments.
- (treat_as_floating_point): Add doxygen commen.
-
-2022-12-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono.h (duration, time_point): Change 'struct'
- to 'class'.
-
-2022-12-07 Jonathan Wakely <jwakely@redhat.com>
- François Dumont <frs.dumont@gmail.com>
-
- * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE]
- (_Error_formatter::_Error_formatter): Pass error handler to
- __glibcxx_backtrace_create_state. Pass 1 for threaded argument.
- (_Error_formatter::_S_err): Define empty function.
- * src/c++11/debug.cc (_Error_formatter::_M_error): Pass error
- handler to __glibcxx_backtrace_full.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107979
- * testsuite/17_intro/names.cc: Do not check __unused on old
- Glibc versions.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107871
- * include/std/format (_Iter_sink::_M_overflow): Add cast to
- size_t.
- (_Iter_sink<CharT, contiguous_iterator auto>::_M_make_span): Use
- typedef instead of decltype.
- * testsuite/std/format/functions/107871.cc: New test.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (chrono::hh_mm_ss): Do not use 64-bit
- representations for all four duration members. Reorder members.
- (hh_mm_ss::hh_mm_ss()): Define as defaulted.
- (hh_mm_ss::hh_mm_ss(Duration)): Delegate to a new private
- constructor, instead of calling chrono::abs repeatedly.
- * testsuite/std/time/hh_mm_ss/1.cc: Check floating-point
- representations. Check default constructor. Check sizes.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/106434
- * include/bits/vector.tcc (insert(const_iterator, const T&)):
- Add assertion and optimization hint that the iterator for the
- insertion point must be non-null.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_mutex.h (mutex): Add nodiscard attribute to
- try_lock member function.
- * include/bits/unique_lock.h (unique_lock): Likewise for
- try_lock, try_lock_until, try_lock_for member functions, and
- owns_lock and mutex member functions.
- * include/std/mutex (recursive_mutex): Likewise for try_lock
- member function.
- (timed_mutex, recursive_timed_mutex, try_lock): Likewise for
- try_lock, try_lock_until, try_lock_for member functions.
- (try_lock): Likewise for non-member function.
- * include/std/shared_mutex (shared_mutex): Likewise for try_lock
- and try_lock_shared member functions.
- (shared_timed_mutex): Likewise for try_lock, try_lock_for,
- try_lock_shared, try_lock_shared_for, try_lock_until, and
- try_lock_shared_until member functions.
- (shared_lock): Likewise for try_lock, try_lock, try_lock_for,
- try_lock_until, owns_lock, and mutex member functions.
- * testsuite/30_threads/recursive_timed_mutex/try_lock_until/clock_neg.cc:
- Cast discarded value expression to void.
- * testsuite/30_threads/shared_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/4.cc: Likewise.
- * testsuite/30_threads/shared_lock/locking/clock_neg.cc:
- Likewise.
- * testsuite/30_threads/shared_timed_mutex/try_lock_until/clock_neg.cc:
- Likewise.
- * testsuite/30_threads/timed_mutex/try_lock_until/clock_neg.cc:
- Likewise.
- * testsuite/30_threads/try_lock/4.cc: Likewise.
- * testsuite/30_threads/unique_lock/cons/60497.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/3.cc: Likewise.
- * testsuite/30_threads/unique_lock/locking/clock_neg.cc:
- Likewise.
-
-2022-12-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format (basic_format_parse_context::next_arg_id):
- Only check arg-id is in range during constant evaluation.
- * testsuite/std/format/functions/format.cc: Check "{:#Lx}".
- * testsuite/std/format/parse_ctx.cc: Adjust expected results for
- format-strings using an out-of-range arg-id.
-
-2022-12-04 Iain Sandoe <iain@sandoe.co.uk>
-
- * config/os/bsd/darwin/os_defines.h
- (_GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC): Limit use of this macro
- to OS versions that need it.
-
-2022-12-04 Iain Sandoe <iain@sandoe.co.uk>
-
- * config/os/bsd/darwin/os_defines.h (_GLIBCXX_WEAK_DEFINITION): Use the
- implementation namespace for the weak attribute.
-
-2022-12-02 Björn Schäpers <bjoern@hazardy.de>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (stacktrace_entry::_S_err_handler): New
- static function.
- (stacktrace_entry, basic_stacktrace): Pass &_S_err_handler to
- all calls to libbacktrace.
-
-2022-11-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107852
- PR libstdc++/106199
- PR libstdc++/100366
- * include/bits/vector.tcc (vector::_M_fill_insert): Copy
- _M_start and _M_finish members before allocating.
- (vector::_M_default_append): Likewise.
- (vector::_M_range_insert): Likewise.
-
-2022-11-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator_base_types.h (__iterator_category):
- Add always_inline attribute.
- * include/bits/stl_vector.h (assign(Iter, Iter)): Call
- _M_assign_aux directly, instead of _M_assign_dispatch.
- (insert(const_iterator, Iter, Iter)): Call _M_range_insert
- directly instead of _M_insert_dispatch.
-
-2022-11-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format: Rename all variables called __used or
- __packed.
- * testsuite/17_intro/badnames.cc: Add no_pch options.
- * testsuite/17_intro/names.cc: Check __packed, __unused and
- __used.
-
-2022-11-28 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/20_util/function/cons/70692.cc: Adapt dg-error message.
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107801
- * src/c++17/memory_resource.cc (chunk::_M_bytes): Change type
- from uint32_t to bitset::size_type. Adjust static assertion.
- (__pool_resource::_Pool::replenish): Cast to size_t after
- multiplication instead of before.
- (__pool_resource::_M_alloc_pools): Ensure both arguments to
- std::max have type size_t.
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/string_view (basic_string_view::copy) Use explicit
- template argument for call to std::min<size_t>.
- (basic_string_view::substr): Likewise.
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107885
- * libsupc++/hash_bytes.cc (_Hash_bytes): Convert to size_t
- instead of implicit integer promotion to 16 bits.
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
- Replace non-ASCII character.
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
- Simplify dg-prune-output pattern.
- * testsuite/lib/prune.exp (libstdc++-dg-prune): Prune "::__8".
-
-2022-11-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107466
- * include/bits/random.h (subtract_with_carry_engine): Use 32-bit
- type for default seed. Use 0u as default argument for
- subtract_with_carry_engine(result_type) constructor and
- seed(result_type) member function.
- * include/bits/random.tcc (subtract_with_carry_engine): Use
- 32-bit type for default seed and engine used for initial state.
- * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
- New test.
-
-2022-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_UCHAR_H): Don't use AC_MSG_RESULT
- unless the AC_MSG_CHECKING happened.
- * configure: Regenerate.
-
-2022-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107850
- * include/bits/erase_if.h (__erase_nodes_if): Use non-const
- reference to the container.
- * include/experimental/map (erase_if): Likewise.
- * include/experimental/set (erase_if): Likewise.
- * include/experimental/unordered_map (erase_if): Likewise.
- * include/experimental/unordered_set (erase_if): Likewise.
- * include/std/map (erase_if): Likewise.
- * include/std/set (erase_if): Likewise.
- * include/std/unordered_map (erase_if): Likewise.
- * include/std/unordered_set (erase_if): Likewise.
- * testsuite/23_containers/map/erasure.cc: Check with
- const-incorrect predicate.
- * testsuite/23_containers/set/erasure.cc: Likewise.
- * testsuite/23_containers/unordered_map/erasure.cc: Likewise.
- * testsuite/23_containers/unordered_set/erasure.cc: Likewise.
- * testsuite/experimental/map/erasure.cc: Likewise.
- * testsuite/experimental/set/erasure.cc: Likewise.
- * testsuite/experimental/unordered_map/erasure.cc: Likewise.
- * testsuite/experimental/unordered_set/erasure.cc: Likewise.
-
-2022-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h [three_way_comparison] (operator!=):
- Do not define inequality operators when C++20 three way
- comparisons are supported.
- * include/ext/random [three_way_comparison] (operator!=):
- Likewise.
-
-2022-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator_base_funcs.h (__distance):
- Add always_inline attribute to overload for random
- access iterators.
- (advance, distance, next, prev): Add always_inline attribute to
- inline functions that just forward to another function.
-
-2022-11-25 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/html/manual/bugs.html: Regenerate.
- * doc/xml/manual/intro.xml: Document LWG 3656 change.
- * include/std/bit (__bit_width, bit_width): Return int.
- * testsuite/26_numerics/bit/bit.pow.two/lwg3656.cc: New test.
-
-2022-11-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106201
- * testsuite/27_io/filesystem/iterators/106201.cc: Improve test.
- * testsuite/experimental/filesystem/iterators/106201.cc: New test.
-
-2022-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107468
- * src/c++17/fast_float/MERGE: Adjust for merge from upstream.
- * src/c++17/fast_float/fast_float.h: Merge from fast_float
- 2ef9abbcf6a11958b6fa685a89d0150022e82e78 commit.
-
-2022-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107815
- * testsuite/20_util/to_chars/float128_c++23.cc (test): Disable
- __FLT128_MAX__ test on Solaris. Fix up commented out debugging
- printouts.
-
-2022-11-23 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107811
- * src/c++17/floating_from_chars.cc (__floating_from_chars_hex): Guard
- fast_float uses with #if USE_LIB_FAST_FLOAT and for mantissa_bits and
- exponent_bits provide a fallback.
-
-2022-11-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107814
- * testsuite/experimental/filesystem/iterators/error_reporting.cc:
- Use a static buffer with space after it.
-
-2022-11-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107817
- * include/std/charconv (__from_chars_alnum_to_val): Add
- constexpr for C++20.
- * include/std/format (__is_digit, __is_xdigit): New functions.
- (_Spec::_S_parse_width_or_precision): Use __is_digit.
- (__formatter_fp::parse): Use __is_xdigit.
-
-2022-11-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106201
- * testsuite/27_io/filesystem/iterators/106201.cc: New test.
-
-2022-11-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107801
- * src/c++17/memory_resource.cc (pool_sizes): Disable large pools
- for targets with 16-bit int.
-
-2022-11-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/functional (_Bind_front0): New class template.
- (_Bind_front_t): Use _Bind_front0 when there are no bound
- arguments.
- * testsuite/20_util/function_objects/bind_front/107784.cc:
- New test.
-
-2022-11-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono.h (duration): Check preconditions on
- template arguments before using them.
-
-2022-11-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/tuple: Add better Doxygen comments.
-
-2022-11-21 Martin Liska <mliska@suse.cz>
-
- * src/experimental/Makefile.in: Re-configure.
-
-2022-11-20 François Dumont <fdumont@gcc.gnu.org>
-
- * include/std/format: Add std qualification on isxdigit calls.
-
-2022-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/range_access.h: Add always_inline attribute to
- trivial functions.
-
-2022-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format: Fix -Wsign-compare warnings.
-
-2022-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ptr_traits.h (pointer_traits::pointer_to): Rename
- parameter.
-
-2022-11-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107649
- * include/std/complex (__complex_proj): Fix requires-clause.
-
-2022-11-19 Jeff Chapman II <jchapman@lock3software.com>
- Andrew Marmaduke <amarmaduke@lock3software.com>
- Jason Merrill <jason@redhat.com>
-
- * acinclude.m4 (glibcxx_SUBDIRS): Add src/experimental.
- * include/Makefile.am (experimental_headers): Add contract.
- * include/Makefile.in: Regenerate.
- * src/Makefile.am (SUBDIRS): Add experimental.
- * src/Makefile.in: Regenerate.
- * configure: Regenerate.
- * src/experimental/contract.cc: New file.
- * src/experimental/Makefile.am: New file.
- * src/experimental/Makefile.in: New file.
- * include/experimental/contract: New file.
-
-2022-11-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107720
- * include/std/format [_GLIBCXX_LONG_DOUBLE_ALT128_COMPAT]:
- Declare overloads of std::to_chars for the alternative long
- double type.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107720
- * include/std/format (__format::_Arg_t): Fix typo in enumerator
- name.
- (_Arg_value::_S_get): Fix missing semi-colons.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (get_leap_second_info): Optimize.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107712
- * include/std/format (__format::__formatter_int::format): Use
- std::toupper when __builtin_toupper isn't available.
- (basic_format_arg::handle): Add 'typename'.
- * include/std/complex (complex<T>): Add 'typename'.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format [__FLT128_DIG__] (_GLIBCXX_FORMAT_F128):
- Only support formatting _Float128 when glibc provides the
- functionality needed for accurate std::to_chars.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/time/clock/utc/1.cc: Check handling across leap
- second insertion.
-
-2022-11-16 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/107701
- * include/std/iostream (__ioinit): Adjust comment.
- * src/c++98/globals_io.cc: Include "io_base_init.h" here
- instead of ...
- * src/c++98/ios_init.cc: ... here.
- * src/c++98/ios_base_init.h (__ioinit): More comments.
- * testsuite/17_intro/static.cc: dg-do run instead of just link.
-
-2022-11-16 Jakub Jelinek <jakub@redhat.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107649
- * include/std/complex (__complex_abs, __complex_arg, __complex_cos,
- __complex_cosh, __complex_exp, __complex_log, __complex_sin,
- __complex_sinh, __complex_sqrt, __complex_tan, __complex_tanh,
- __complex_pow): Move __complex__ _Float{16,32,64,128} and
- __complex__ decltype(0.0bf16) overloads earlier in the file.
- (complex): Fix up requires on the partial specialization for extended
- float types.
- (__complex_acos, __complex_asin, __complex_atan, __complex_acosh,
- __complex_asinh, __complex_atanh): Move
- __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16)
- overloads earlier in the file.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Make
- expansion of std::string in manager name more robust.
-
-2022-11-16 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (is_specialization_of): Fix
- incorrect terminology in docstring and describe arguments.
- (FilteringTypePrinter): Add default argument for new parameter,
- enhance docstring.
-
-2022-11-16 François Dumont <fdumont@gcc.gnu.org>
-
- * python/libstdcxx/v6/printers.py (FilteringTypePrinter): Rename 'match' field
- 'template'. Add self.targ1 to specify the first template parameter of the instantiation
- to match.
- (add_one_type_printer): Add targ1 optional parameter, default to None.
- Use gdb.types.get_basic_type to compare the type to recognize and the type
- returned from the typedef lookup.
- (register_type_printers): Adapt calls to add_one_type_printers.
-
-2022-11-15 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/format/functions/format.cc: Do not use
- std::make_unsigned_t<__int128>.
-
-2022-11-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format (formattable): Only define for C++23/
- * testsuite/std/format/formatter.cc: Moved to...
- * testsuite/std/format/formatter/requirements.cc: ...here.
- * testsuite/std/format/formatter/concept.cc: New test.
- * testsuite/std/format/functions/format.cc: Replace use of
- std::formattable in C++20.
-
-2022-11-15 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107693
- * include/std/format (_GLIBCXX_FORMAT_F128): Define to 2 when
- basic_format_arg needs to use its _M_f128 member.
- (__extended_floating_point, __floating_point): Replace with ...
- (__formattable_floating_point): New concept.
- * testsuite/std/format/functions/format.cc: Check whether
- __float128 is supported. Also test _Float128.
-
-2022-11-15 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/documentation_hacking.xml: Document use of
- Markdown for Doxygen comments. Tweak formatting.
- * doc/html/manual/documentation_hacking.html: Regenerate.
-
-2022-11-14 Jonathan Wakely <jwakely@redhat.com>
-
- * python/Makefile.am (install-data-local): Use mkdirs_p for debug
- libdir.
- * python/Makefile.in: Regenerate.
-
-2022-11-14 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
-
- * src/Makefile.am (install-debug): Remove use of $(debugdir).
- * src/Makefile.in: Regenerate.
-
-2022-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/chrono (utc_clock, tai_clock, gps_clock): Define.
- (clock_time_conversion, clock_cast): Define.
- (sys_info, local_info): Define structs for timezone information.
- (nonexistent_local_time, ambiguous_local_time): Define
- exceptions for invalid times.
- (time_zone, time_zone_link, leap_second, zoned_traits, tzdb)
- (tzdb_list): Define classes representing time zones.
- (get_leap_second_info): Define new function returning leap
- second offset for a given time point.
- * testsuite/std/time/clock/gps/1.cc: New test.
- * testsuite/std/time/clock/tai/1.cc: New test.
- * testsuite/std/time/clock/utc/1.cc: New test.
-
-2022-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104166
- * include/Makefile.am (std_headers): Add <format>.
- * include/Makefile.in: Regenerate.
- * include/precompiled/stdc++.h: Add <format>.
- * include/std/format: New file.
- * python/libstdcxx/v6/printers.py (StdFormatArgsPrinter): New
- printer for std::format_args.
- * testsuite/std/format/arguments/args.cc: New test.
- * testsuite/std/format/error.cc: New test.
- * testsuite/std/format/formatter.cc: New test.
- * testsuite/std/format/functions/format.cc: New test.
- * testsuite/std/format/functions/format_to_n.cc: New test.
- * testsuite/std/format/functions/size.cc: New test.
- * testsuite/std/format/functions/vformat_to.cc: New test.
- * testsuite/std/format/parse_ctx.cc: New test.
- * testsuite/std/format/string.cc: New test.
- * testsuite/std/format/string_neg.cc: New test.
-
-2022-11-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/charconv.h (__integer_to_chars_is_unsigned):
- New variable template.
- (__to_chars_len, __to_chars_10_impl): Use variable template in
- assertions to allow unsigned __int128 in strict mode.
- * include/std/charconv (__to_chars, __to_chars_16)
- (__to_chars_10, __to_chars_8, __to_chars_2): Likewise.
-
-2022-11-12 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107636
- * include/std/charconv (to_chars): Fix up powerpc64le _Float128
- overload __extension__ placement.
-
-2022-11-12 Jonathan Wakely <jwakely@redhat.com>
-
- * src/Makefile.am: Simplify debug build targets.
- * src/Makefile.in: Regenerate.
-
-2022-11-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103755
- * src/c++11/locale-inst-monetary.h: Include new header.
- * src/c++11/locale-inst-numeric.h: Likewise.
- * src/c++11/locale-inst.cc: Likewise.
- (INSTANTIATE_USE_FACET, INSTANTIATE_FACET_ACCESSORS): Move
- macro definitions to ...
- * src/c++11/facet_inst_macros.h: New file.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/95048
- * include/experimental/bits/fs_path.h (path::_Cvt::_S_wconvert):
- Construct codecvt directly instead of getting it from the
- locale.
-
-2022-11-11 Nathaniel Shead <nathanieloshead@gmail.com>
-
- PR libstdc++/103295
- * include/bits/basic_string.h (_M_use_local_data): Set active
- member to _M_local_buf.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/95048
- * include/bits/fs_path.h (path::_Codecvt): New class template
- that selects the kind of code conversion done.
- (path::_Codecvt<wchar_t>): Select based on sizeof(wchar_t).
- (_GLIBCXX_CONV_FROM_UTF8): New macro to allow the same code to
- be used for Windows and POSIX.
- (path::_S_convert(const EcharT*, const EcharT*)): Simplify by
- using _Codecvt and _GLIBCXX_CONV_FROM_UTF8 abstractions.
- (path::_S_str_convert(basic_string_view<value_type>, const A&)):
- Simplify nested conditions.
- * include/experimental/bits/fs_path.h (path::_Cvt): Define
- nested typedef controlling type of code conversion done.
- (path::_Cvt::_S_wconvert): Use new typedef.
- (path::string(const A&)): Likewise.
- * testsuite/27_io/filesystem/path/construct/95048.cc: New test.
- * testsuite/experimental/filesystem/path/construct/95048.cc: New
- test.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/tuple/swap.cc (MoveOnly::operator==): Add
- const qualifier.
- * testsuite/26_numerics/valarray/87641.cc (X::operator==):
- Likewise.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/charconv (__from_chars_alnum_to_val_table::value):
- [!__cpp_inline_variables]: Add non-inline definition.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/propagate_const/observers/107525.cc:
- Use type trait instead of C++17 variable template.
-
-2022-11-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103755
- * config/abi/pre/gnu.ver: Tighten patterns for facets in the
- base version. Add exports for __try_use_facet.
- * include/bits/basic_ios.tcc (basic_ios::_M_cache_locale): Use
- __try_use_facet instead of has_facet and use_facet.
- * include/bits/fstream.tcc (basic_filebuf::basic_filebuf()):
- Likewise.
- (basic_filebuf::imbue): Likewise.
- * include/bits/locale_classes.h (locale, locale::id)
- (locale::_Impl): Declare __try_use_facet as a friend.
- * include/bits/locale_classes.tcc (__try_use_facet): Define new
- function template with special cases for default facets.
- (has_facet, use_facet): Call __try_use_facet.
- * include/bits/locale_facets.tcc (__try_use_facet): Declare
- explicit instantiations.
- * include/bits/locale_facets_nonio.tcc (__try_use_facet):
- Likewise.
- * src/c++11/locale-inst-monetary.h (INSTANTIATE_FACET_ACCESSORS):
- Use new macro for facet accessor instantiations.
- * src/c++11/locale-inst-numeric.h (INSTANTIATE_FACET_ACCESSORS):
- Likewise.
- * src/c++11/locale-inst.cc (INSTANTIATE_USE_FACET): Define new
- macro for instantiating __try_use_facet and use_facet.
- (INSTANTIATE_FACET_ACCESSORS): Define new macro for also
- defining has_facet.
- * src/c++98/compatibility-ldbl.cc (__try_use_facet):
- Instantiate.
- * testsuite/22_locale/ctype/is/string/89728_neg.cc: Adjust
- expected errors.
-
-2022-11-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/concepts (__detail::__destructible_impl)
- (__detail::__destructible): New variable templates.
- (destructible): Use __detail::__destructible.
- * testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
- Add more checks for array and reference types.
-
-2022-11-08 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/new_nothrow.cc: Add missing noexcept
- to operator delete replacements.
- * testsuite/20_util/any/cons/92156.cc: Disable
- -Winit-list-lifetime warnings from instantiating invalid
- specialization of manager function.
- * testsuite/20_util/any/modifiers/92156.cc: Likewise.
- * testsuite/20_util/default_delete/void_neg.cc: Prune additional
- diagnostics.
- * testsuite/20_util/headers/memory/synopsis.cc: Add missing
- noexcept.
- * testsuite/20_util/shared_ptr/cons/void_neg.cc: Prune
- additional diagnostic.
- * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Add
- missing noexcept to operator delete replacements.
- * testsuite/21_strings/basic_string/cons/char/103919.cc:
- Likewise.
- * testsuite/23_containers/map/modifiers/emplace/92300.cc:
- Likewise.
- * testsuite/23_containers/map/modifiers/insert/92300.cc:
- Likewise.
- * testsuite/24_iterators/headers/iterator/range_access_c++11.cc:
- Add missing noexcept to synopsis declarations.
- * testsuite/24_iterators/headers/iterator/range_access_c++14.cc:
- Likewise.
- * testsuite/24_iterators/headers/iterator/range_access_c++17.cc:
- Likewise.
-
-2022-11-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_tempbuf.h (_Temporary_buffer): Disable
- warnings about get_temporary_buffer being deprecated.
- * include/ext/functional (mem_fun1, mem_fun1_ref): Disable
- warnings about mem_fun1_t, const_mem_fun1_t, mem_fun1_ref_t and
- const_mem_fun1_ref_t being deprecated.
- * include/std/array (__array_traits<T, 0>): Remove artificial
- attributes which give warnings about being ignored.
- * include/std/spanstream (basic_spanbuf::setbuf): Add assertion
- and adjust to avoid narrowing warning.
- * libsupc++/exception_ptr.h [!__cpp_rtti && !__cpp_exceptions]
- (make_exception_ptr): Add missing inline specifier.
-
-2022-11-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (allocator_traits): Add
- always_inline attribute to all member functions.
- (__do_alloc_on_copy, __alloc_on_copy, __do_alloc_on_move)
- (__alloc_on_move, __do_alloc_on_swap, __alloc_on_swap)
- (_Destroy(FwdIter, FwdIter, allocator<T>&)): : Add
- always_inline attribute.
- * include/bits/allocator.h (allocator): Add always_inline
- attribute to all member functions and equality operators.
- * include/bits/new_allocator.h (__new_allocator): Likewise.
- * include/ext/alloc_traits.h (__gnu_cxx::__alloc_traits):
- Likewise.
-
-2022-11-08 Charles-François Natali <cf.natali@gmail.com>
-
- PR libstdc++/63746
- * include/bits/fstream.tcc (basic_filbuf::xsputn): Remove
- 1024-byte chunking that bypasses the buffer for large writes.
- * testsuite/27_io/basic_filebuf/sputn/char/63746.cc: New test.
-
-2022-11-08 Will Hawkins <whh8b@obs.cr>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (__str_cat): Add common function
- that performs single-allocation string concatenation.
- (operator+): Use __str_cat.
- * include/bits/basic_string.tcc (operator+): Move to .h and
- define inline using __str_cat.
-
-2022-11-08 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/20_util/to_chars/float128_c++23.cc (test): Uncomment
- denorm_min test.
-
-2022-11-08 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/authors.xml: Update the blurb listing my doc
- contributions.
-
-2022-11-08 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/authors.xml: Remove empty author element.
- * doc/xml/manual/spine.xml: Likewise.
- * doc/html/manual/index.html: Regenerate.
-
-2022-11-08 Joseph Myers <joseph@codesourcery.com>
-
- PR libstdc++/107562
- * src/c++17/floating_from_chars.cc (from_chars_impl): Fix syntax
- error.
-
-2022-11-08 Jason Merrill <jason@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/18_support/comparisons/algorithms/fallback.cc: Adjust
- asserts.
-
-2022-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107562
- * src/c++17/floating_from_chars.cc (__strtof128): Put __asm before
- __attribute__.
- * src/c++17/floating_to_chars.cc (__strfromf128): Likewise.
-
-2022-11-07 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (as_rvalue_view): Define.
- (enable_borrowed_range<as_rvalue_view>): Define.
- (views::__detail::__can_as_rvalue_view): Define.
- (views::_AsRvalue, views::as_rvalue): Define.
- * testsuite/std/ranges/adaptors/as_rvalue/1.cc: New test.
-
-2022-11-07 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__maybe_const_t): New alias for
- __detail::__maybe_const_t.
- (__detail::__cartesian_product_is_random_access): Define.
- (__detail::__cartesian_product_common_arg): Define.
- (__detail::__cartesian_product_is_bidirectional): Define.
- (__detail::__cartesian_product_is_common): Define.
- (__detail::__cartesian_product_is_sized): Define.
- (__detail::__cartesian_is_sized_sentinel): Define.
- (__detail::__cartesian_common_arg_end): Define.
- (cartesian_product_view): Define.
- (cartesian_product_view::_Iterator): Define.
- (views::__detail::__can_cartesian_product_view): Define.
- (views::_CartesianProduct, views::cartesian_product): Define.
- * testsuite/std/ranges/cartesian_product/1.cc: New test.
-
-2022-11-07 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/107468
- * src/c++17/fast_float/MERGE: Adjust for merge from upstream.
- * src/c++17/fast_float/LOCAL_PATCHES: Remove commits that were
- upstreamed.
- * src/c++17/fast_float/README.md: Merge from fast_float
- 662497742fea7055f0e0ee27e5a7ddc382c2c38e commit.
- * src/c++17/fast_float/fast_float.h: Likewise.
- * testsuite/20_util/from_chars/pr107468.cc: New test.
-
-2022-11-07 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/charconv (from_chars, to_chars): Add _Float128
- overfloads if _GLIBCXX_HAVE_FLOAT128_MATH is defined.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
- _ZSt8to_charsPcS_DF128_, _ZSt8to_charsPcS_DF128_St12chars_format,
- _ZSt8to_charsPcS_DF128_St12chars_formati and
- _ZSt10from_charsPKcS0_RDF128_St12chars_format.
- * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
- Define if needed.
- (__strtof128): Declare.
- (from_chars_impl): Handle _Float128.
- (from_chars): New _Float128 overload if USE_STRTOF128_FOR_FROM_CHARS
- is define.
- * src/c++17/floating_to_chars.cc (__strfromf128): Declare.
- (FLOAT128_TO_CHARS): Define even when _Float128 is supported and
- wider than long double.
- (F128_type): Use _Float128 for that case.
- (floating_type_traits): Specialize for F128_type rather than
- __float128.
- (sprintf_ld): Add length argument. Handle _Float128.
- (__floating_to_chars_shortest, __floating_to_chars_precision):
- Pass length to sprintf_ld.
- (to_chars): Add _Float128 overloads for the F128_type being
- _Float128 cases.
- * testsuite/20_util/to_chars/float128_c++23.cc: New test.
-
-2022-11-06 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/atomic_wait.h (_detail::__platform_wait_alignment):
- Declare inline. Remove redundant static specifier.
- (__detail::__atomic_spin_count_relax): Declare inline.
- (__detail::__atomic_spin_count): Likewise.
- * include/bits/regex_automaton.h (__detail::_S_invalid_state_id):
- Declare inline for C++17. Declare constexpr. Remove
- redundant const and static specifiers.
- * include/bits/regex_error.h (regex_constants::error_collate):
- Declare inline for C++17 as per P0607R0.
- (regex_constants::error_ctype): Likewise.
- (regex_constants::error_escape): Likewise.
- (regex_constants::error_backref): Likewise.
- (regex_constants::error_brack): Likewise.
- (regex_constants::error_paren): Likewise.
- (regex_constants::error_brace): Likewise.
- (regex_constants::error_badbrace): Likewise.
- (regex_constants::error_range): Likewise.
- (regex_constants::error_space): Likewise.
- (regex_constants::error_badrepeat): Likewise.
- (regex_constants::error_complexity): Likewise.
- (regex_constants::error_stack): Likewise.
- * include/ext/concurrence.h (__gnu_cxx::__default_lock_policy):
- Likewise. Remove redundant static specifier.
- * include/pstl/execution_defs.h (execution::seq): Declare inline
- for C++17 as per P0607R0.
- (execution::par): Likewise.
- (execution::par_unseq): Likewise.
- (execution::unseq): Likewise.
-
-2022-11-06 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/44952
- PR libstdc++/39796
- PR libstdc++/98108
- * include/std/iostream (__ioinit): No longer define here if
- the init_priority attribute is usable.
- * src/c++98/ios_init.cc (__ioinit): Define here instead if
- init_priority is usable, via ...
- * src/c++98/ios_base_init.h: ... this new file.
-
-2022-11-05 Jakob Hasse <0xjakob@users.noreply.github.com>
-
- PR libstdc++/105387
- * libsupc++/pbase_type_info.cc (__do_catch) [!__cpp_rtti]: Add
- check that the thrown type is actually a pointer.
- * testsuite/18_support/105387.cc: New test.
- * testsuite/18_support/105387_memptr.cc: New test.
-
-2022-11-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107525
- * include/experimental/propagate_const (operator element_type*()):
- Move into base class that can be partially specilized to iompose
- constraints.
- (operator const element_type*()): Likewise.
- * testsuite/experimental/propagate_const/observers/107525.cc: New test.
-
-2022-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107500
- * libsupc++/eh_globals.cc (eh_globals): Remove immortalizing
- wrapper.
- (__cxxabiv1::__cxa_get_globals_fast): Adjust.
- (__cxxabiv1::__cxa_get_globals): Adjust.
-
-2022-11-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107511
- * libsupc++/eh_alloc.cc (_GNU_SOURCE): Define.
-
-2022-11-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_algobase.h (__detail::__copy_or_move):
- Move output iterator.
- * testsuite/25_algorithms/copy/constrained.cc: Check copying to
- move-only output iterator.
-
-2022-11-02 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/eh_globals.cc (constant_init::unused): Remove.
- * src/c++11/system_error.cc (constant_init::unused): Remove.
- * src/c++17/memory_resource.cc (constant_init::unused): Remove.
-
-2022-11-02 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/floating_from_chars.cc (from_chars_impl): In the
- ERANGE case, distinguish between a denormal result and true
- underflow by checking if the return value is 0.
-
-2022-11-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/expected (expected::_M_invalid): Remove.
-
-2022-11-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (__variant::_Multi_array::__untag_result):
- Use pragma to suppress warning.
-
-2022-11-02 Jakub Jelinek <jakub@redhat.com>
-
- * libsupc++/compare (_Strong_order::_Fp_fmt): Add _Bfloat16.
- (_Strong_order::_Bfloat16): New static data member.
- (_Strong_order::_S_fp_fmt): Return _Bfloat16 for std::bfloat16_t.
-
-2022-11-02 Jakub Jelinek <jakub@redhat.com>
-
- * src/c++17/floating_to_chars.cc (__floating_to_chars_hex): Drop const
- from unbiased_exponent. Canonicalize denormals such that they have
- the leading bit set by shifting effective mantissa up and decreasing
- unbiased_exponent.
- (__floating_to_chars_shortest): Don't instantiate
- __floating_to_chars_hex for float16_t either and use float instead.
- * testsuite/20_util/to_chars/float.cc (float_to_chars_test_cases):
- Adjust testcases for shortest hex denormals.
- * testsuite/20_util/to_chars/double.cc (double_to_chars_test_cases):
- Likewise.
-
-2022-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/charconv (__from_chars_float16_t,
- __from_chars_bfloat16_t): Declare.
- (from_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
- _ZSt22__from_chars_float16_tPKcS0_RfSt12chars_format and
- _ZSt23__from_chars_bfloat16_tPKcS0_RfSt12chars_format.
- * src/c++17/floating_from_chars.cc
- (fast_float::floating_type_float16_t,
- fast_float::floating_type_bfloat16_t): New classes.
- (fast_float::binary_format<floating_type_float16_t>,
- fast_float::binary_format<floating_type_bfloat16_t>): New
- specializations.
- (fast_float::to_float<floating_type_float16_t>,
- fast_float::to_float<floating_type_bfloat16_t>,
- fast_float::to_extended<floating_type_float16_t>,
- fast_float::to_extended<floating_type_bfloat16_t>): Likewise.
- (fast_float::from_chars_16): New template function.
- (__floating_from_chars_hex): Allow instantiation with
- fast_float::floating_type_{,b}float16_t.
- (from_chars): Formatting fixes for float/double/long double overloads.
- (__from_chars_float16_t, __from_chars_bfloat16_t): New functions.
- * testsuite/20_util/to_chars/float16_c++23.cc: New test.
-
-2022-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/charconv (__to_chars_float16_t, __to_chars_bfloat16_t):
- Declare.
- (to_chars): Add _Float16 and __gnu_cxx::__bfloat16_t overloads.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export
- _ZSt20__to_chars_float16_tPcS_fSt12chars_format and
- _ZSt21__to_chars_bfloat16_tPcS_fSt12chars_format.
- * src/c++17/floating_to_chars.cc (floating_type_float16_t,
- floating_type_bfloat16_t): New types.
- (floating_type_traits<floating_type_float16_t>,
- floating_type_traits<floating_type_bfloat16_t>,
- get_ieee_repr<floating_type_float16_t>,
- get_ieee_repr<floating_type_bfloat16_t>,
- __handle_special_value<floating_type_float16_t>,
- __handle_special_value<floating_type_bfloat16_t>): New specializations.
- (floating_to_shortest_scientific): Handle floating_type_float16_t
- and floating_type_bfloat16_t like IEEE quad.
- (__floating_to_chars_shortest): For floating_type_bfloat16_t call
- __floating_to_chars_hex<float> rather than
- __floating_to_chars_hex<floating_type_bfloat16_t> to avoid
- instantiating the latter.
- (__to_chars_float16_t, __to_chars_bfloat16_t): New functions.
-
-2022-11-01 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/charconv (from_chars, to_chars): Add _Float{32,64,128}
- overloads for cases where those types match {float,double,long double}.
- * include/std/istream (basic_istream::operator>>): Add
- _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
- * include/std/ostream (basic_ostream::operator<<): Add
- _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
- * testsuite/20_util/from_chars/8.cc: New test.
- * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test):
- Formatting fixes.
- * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: Add
- dg-options "-std=gnu++2b".
- (test_functions, main): Formatting fixes.
- * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc:
- Add dg-options "-std=gnu++2b".
-
-2022-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * include/std/complex (complex::complex converting ctor): For C++23
- use explicit specifier with constant expression. Explicitly cast
- both parts to _Tp.
- (__complex_abs, __complex_arg, __complex_cos, __complex_cosh,
- __complex_exp, __complex_log, __complex_sin, __complex_sinh,
- __complex_sqrt, __complex_tan, __complex_tanh, __complex_pow): Add
- __complex__ _Float{16,32,64,128} and __complex__ decltype(0.0bf16)
- overloads.
- (complex<float>::complex converting ctor,
- complex<double>::complex converting ctor,
- complex<long double>::complex converting ctor): For C++23 implement
- as template with explicit specifier with constant expression
- and explicit casts.
- (__complex_type): New template.
- (complex): New partial specialization for types with extended floating
- point types.
- (__complex_acos, __complex_asin, __complex_atan, __complex_acosh,
- __complex_asinh, __complex_atanh): Add __complex__ _Float{16,32,64,128}
- and __complex__ decltype(0.0bf16) overloads.
- (__complex_proj): Likewise. Add template for complex of extended
- floating point types.
- * include/bits/cpp_type_traits.h (__is_floating): Specialize for
- _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
- * testsuite/26_numerics/complex/ext_c++23.cc: New test.
-
-2022-10-31 Jakub Jelinek <jakub@redhat.com>
-
- * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH):
- Uncomment.
- * include/c_global/cmath (nextafter(_Float16, _Float16)): Make it constexpr.
- If std::__is_constant_evaluated() call __builtin_nextafterf16.
- (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Similarly
- but call __builtin_nextafterf16b.
- * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc (test): Add
- static assertions to test constexpr nextafter.
-
-2022-10-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_path.h (path::filename()): Fix dangling
- reference.
-
-2022-10-28 Arsen Arsenović <arsen@aarsen.me>
-
- * include/std/functional: Make placeholders inline, if possible.
-
-2022-10-28 Arsen Arsenović <arsen@aarsen.me>
-
- * configure.ac: Stop generating gstdint.h.
- * src/c++11/compatibility-atomic-c++0x.cc: Stop using gstdint.h.
- * Makefile.in: Regenerate.
- * aclocal.m4: Regenerate.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++17/Makefile.in: Regenerate.
- * src/c++20/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * src/filesystem/Makefile.in: Regenerate.
- * src/libbacktrace/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2022-10-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107376
- * include/bits/regex_executor.h (_Executor::_Executor): Use same
- allocator for _M_cur_results and _M_results.
- * include/bits/regex_executor.tcc (_Executor::_M_main_dispatch):
- Prevent possibly incorrect allocator propagating to
- _M_cur_results.
- * testsuite/28_regex/algorithms/regex_match/107376.cc: New test.
-
-2022-10-26 Marek Polacek <polacek@redhat.com>
-
- PR c++/106393
- * include/bits/locale_classes.tcc: Add #pragma to disable
- -Wdangling-reference with std::use_facet.
-
-2022-10-21 Arsen Arsenović <arsen@aarsen.me>
-
- * acinclude.m4: Default hosted to off if building without
- headers and without newlib.
- * configure: Regenerate.
-
-2022-10-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/mofunc_impl.h (move_only_function::__param_t):
- Use __is_scalar instead of is_trivially_copyable.
- * testsuite/20_util/move_only_function/call.cc: Check parameters
- involving incomplete types.
-
-2022-10-20 Patrick Palka <ppalka@redhat.com>
-
- * include/std/charconv (__detail::__from_chars_alnum_to_val_table):
- Redefine as a class template containing the members type, value and
- _S_make_table. Don't use a local class as the table type.
- (__detail::__table): Remove.
- (__detail::__from_chars_alnum_to_val): Adjust after the above.
-
-2022-10-19 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (views::__detail::__is_repeat_view): Define
- and later define a partial specialization.
- (views::__detail::__take_of_repeat_view): Declare and later define.
- (views::__detail::__drop_of_repeat_view): Likewise.
- (views::_Take::operator()): Return a repeat_view if the argument
- is a repeat_view as per P2474R2.
- (views::_Drop::operator()): Likewise.
- (repeat_view): Befriend __take/drop_of_repeat_view.
- * testsuite/std/ranges/repeat/1.cc (test04): New test.
-
-2022-10-19 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/107313
- * include/std/ranges (stride_view::_Iterator::operator-): Fix typo.
- * testsuite/std/ranges/adaptors/stride/1.cc (test03): New test.
-
-2022-10-19 LIU Hao <lh_mouse@126.com>
-
- * src/c++11/thread.cc (get_nprocs): Add new implementation
- for native Windows targets
-
-2022-10-19 LIU Hao <lh_mouse@126.com>
-
- * libsupc++/atexit_thread.cc (__cxa_thread_atexit): Use
- implementation from mcfgthread if available
- * libsupc++/guard.cc (__cxa_guard_acquire, __cxa_guard_release,
- __cxa_guard_abort): Use implementations from mcfgthread if
- available
- * configure: Regenerate
-
-2022-10-19 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/106652
- * include/std/limits: Fix a typo, 202202L -> 202002L.
- (numeric_limits::<_Float16>::radix, numeric_limits::<_Float32>::radix,
- numeric_limits::<_Float64>::radix, numeric_limits::<_Float128>::radix,
- numeric_limits::<__gnu_cxx::__bfloat16_t>::radix): Use __FLT_RADIX__
- macro instead of type specific macros.
- * include/c_global/cmath (nextafter(_Float16, _Float16)): New
- overload.
- (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)):
- Likewise.
- * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc
- (test_functions): Uncomment nextafter test. Fix up sph_neumann call.
- * testsuite/26_numerics/headers/cmath/nextafter_c++23.cc: New test.
-
-2022-10-18 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (stride_view): Define.
- (stride_view::_Iterator): Define.
- (views::__detail::__can_stride_view): Define.
- (views::_Stride, views::stride): Define.
- * testsuite/std/ranges/adaptors/stride/1.cc: New test.
-
-2022-10-18 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/106652
- * include/std/stdfloat: New file.
- * include/std/numbers (__glibcxx_numbers): Define and use it
- for __float128 explicit instantiations as well as
- _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
- * include/std/atomic (atomic<_Float16>, atomic<_Float32>,
- atomic<_Float64>, atomic<_Float128>, atomic<__gnu_cxx::__bfloat16_t>):
- New explicit instantiations.
- * include/std/type_traits (__is_floating_point_helper<_Float16>,
- __is_floating_point_helper<_Float32>,
- __is_floating_point_helper<_Float64>,
- __is_floating_point_helper<_Float128>,
- __is_floating_point_helper<__gnu_cxx::__bfloat16_t>): Likewise.
- * include/std/limits (__glibcxx_concat3_, __glibcxx_concat3,
- __glibcxx_float_n): Define.
- (numeric_limits<_Float16>, numeric_limits<_Float32>,
- numeric_limits<_Float64>, numeric_limits<_Float128>,
- numeric_limits<__gnu_cxx::__bfloat16_t>): New explicit instantiations.
- * include/bits/std_abs.h (abs): New overloads for
- _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t.
- * include/bits/c++config (_GLIBCXX_LDOUBLE_IS_IEEE_BINARY128): Define
- if long double is IEEE quad.
- (__gnu_cxx::__bfloat16_t): New using.
- * include/c_global/cmath (acos, asin, atan, atan2, ceil, cos, cosh,
- exp, fabs, floor, fmod, frexp, ldexp, log, log10, modf, pow, sin,
- sinh, sqrt, tan, tanh, fpclassify, isfinite, isinf, isnan, isnormal,
- signbit, isgreater, isgreaterequal, isless, islessequal,
- islessgreater, isunordered, acosh, asinh, atanh, cbrt, copysign, erf,
- erfc, exp2, expm1, fdim, fma, fmax, fmin, hypot, ilogb, lgamma,
- llrint, llround, log1p, log2, logb, lrint, lround, nearbyint,
- nextafter, remainder, rint, round, scalbln, scalbn, tgamma, trunc,
- lerp): New overloads with _Float{16,32,64,128} or
- __gnu_cxx::__bfloat16_t types.
- * config/os/gnu-linux/os_defines.h (_GLIBCXX_HAVE_FLOAT128_MATH):
- Prepare for definition if glibc 2.26 and later implements *f128 APIs
- but comment out the actual definition for now.
- * include/ext/type_traits.h (__promote<_Float16>, __promote<_Float32>,
- __promote<_Float64>, __promote<_Float128>,
- __promote<__gnu_cxx::__bfloat16_t>): New specializations.
- * include/Makefile.am (std_headers): Add stdfloat.
- * include/Makefile.in: Regenerated.
- * include/precompiled/stdc++.h: Include stdfloat.
- * testsuite/18_support/headers/stdfloat/types_std.cc: New test.
- * testsuite/18_support/headers/limits/synopsis_cxx23.cc: New test.
- * testsuite/26_numerics/headers/cmath/c99_classification_macros_c++23.cc:
- New test.
- * testsuite/26_numerics/headers/cmath/functions_std_c++23.cc: New test.
- * testsuite/26_numerics/numbers/4.cc: New test.
- * testsuite/29_atomics/atomic_float/requirements_cxx23.cc: New test.
-
-2022-10-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/charconv (__cpp_lib_constexpr_charconv): Define to
- correct value.
- * include/std/version (__cpp_lib_constexpr_charconv): Likewise.
- * testsuite/20_util/to_chars/constexpr.cc: Check correct value.
- * testsuite/20_util/to_chars/version.cc: Likewise.
-
-2022-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/debug.cc (print_raw): Move inside #if block.
-
-2022-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/charconv.h (__to_chars_10_impl): Add constexpr
- for C++23. Remove 'static' from array.
- * include/std/charconv (__cpp_lib_constexpr_charconv): Define.
- (__to_chars, __to_chars_16): Remove 'static' from array, add
- constexpr.
- (__to_chars_10, __to_chars_8, __to_chars_2, __to_chars_i)
- (to_chars, __raise_and_add, __from_chars_pow2_base)
- (__from_chars_alnum, from_chars): Add constexpr.
- (__from_chars_alnum_to_val): Avoid local static during constant
- evaluation. Add constexpr.
- * include/std/version (__cpp_lib_constexpr_charconv): Define.
- * testsuite/20_util/from_chars/constexpr.cc: New test.
- * testsuite/20_util/to_chars/constexpr.cc: New test.
- * testsuite/20_util/to_chars/version.cc: New test.
-
-2022-10-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_map.h (map::insert(Pair&&)): Use
- remove_const_t on argument to __is_pair.
- * include/bits/stl_pair.h (__is_pair<const pair<T,U>>): Remove
- partial specialization.
- * include/bits/uses_allocator_args.h (_Std_pair): Use
- remove_cv_t as per LWG 3677.
- * testsuite/20_util/uses_allocator/lwg3677.cc: New test.
-
-2022-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * libsupc++/eh_alloc.cc [USE_POOL]: New macro.
- [!USE_POOL] (__gnu_cxx::__freeres, pool): Do not define.
- [_GLIBCXX_EH_POOL_STATIC] (pool::arena): Do not use std::max.
- (__cxxabiv1::__cxa_allocate_exception) [!USE_POOL]: Do not use
- pool.
- (__cxxabiv1::__cxa_free_exception) [!USE_POOL]: Likewise.
- (__cxxabiv1::__cxa_allocate_dependent_exception) [!USE_POOL]:
- Likewise.
- (__cxxabiv1::__cxa_free_dependent_exception) [!USE_POOL]:
- Likewise.
-
-2022-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/debug.cc (print_raw): Simplify.
- (print_word): Print indentation by calling fprintf directly.
- (_Error_formatter::_M_error): Print unindented string by calling
- fprintf directly.
-
-2022-10-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/iostream: Use markdown in Doxygen comment.
-
-2022-10-12 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/string: Add using _Base::compare.
- (__gnu_debug::basic_string<>::compare(const basic_string<>&)): Remove.
- (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&)):
- Remove.
- (__gnu_debug::basic_string<>::compare(size_type, size_type, const basic_string<>&,
- size_type, size_type)): Remove.
- * testsuite/util/testsuite_string.h [_GLIBCXX_TEST_DEBUG_STRING]: Include <debug/string>.
- * testsuite/21_strings/basic_string/operations/compare/char/1.cc: Include testsuite_string.h
- and use __gnu_test::string.
- * testsuite/21_strings/basic_string/operations/compare/char/13650.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/compare/char/2.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/rfind/char/1.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/rfind/char/2.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/rfind/char/3.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/compare/wchar_t/1.cc:
- Include testsuite_string.h
- and use __gnu_test::wstring.
- * testsuite/21_strings/basic_string/operations/compare/wchar_t/13650.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/compare/wchar_t/2.cc: Likewise.
-
-2022-10-12 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (repeat_view): Define.
- (repeat_view::_Iterator): Define.
- (views::__detail::__can_repeat_view): Define.
- (views::__detail::__can_bounded_repeat_view): Define.
- (views::_Repeat, views::repeat): Define.
- * testsuite/std/ranges/repeat/1.cc: New test.
-
-2022-10-12 Martin Liska <mliska@suse.cz>
-
- * configure: Regenerate.
-
-2022-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR bootstrap/107221
- * libsupc++/eh_alloc.cc (pool): Change preprocessor condition
- for using __mutex from __GTHREADS to _GLIBCXX_HOSTED.
- (pool::allocate): Remove namespace qualification to use
- pool::__scoped_lock instead of __gnu_cxx::__scoped_lock.
-
-2022-10-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/68606
- * Makefile.in: Regenerate.
- * acinclude.m4 (GLIBCXX_EMERGENCY_EH_ALLOC): New macro.
- * configure: Regenerate.
- * configure.ac: Use GLIBCXX_EMERGENCY_EH_ALLOC.
- * crossconfig.m4: Check for secure_getenv.
- * doc/Makefile.in: Regenerate.
- * doc/xml/manual/configure.xml: Document new configure options.
- * doc/xml/manual/evolution.xml: Document addition of tunables.
- * doc/xml/manual/using_exceptions.xml: Document emergency
- buffer and tunables.
- * doc/html/*: Regenerate.
- * include/Makefile.in: Regenerate.
- * libsupc++/Makefile.am: Use EH_POOL_FLAGS.
- * libsupc++/Makefile.in: Regenerate.
- * libsupc++/eh_alloc.cc (EMERGENCY_OBJ_SIZE): Define in units
- of sizeof(void*) not including the ABI's exception header.
- (EMERGENCY_OBJ_COUNT): Define as target-independent calculation
- based on word size.
- (MAX_OBJ_COUNT): Define macro for upper limit on pool size.
- (pool) [_GLIBCXX_EH_POOL_STATIC]: Use fixed-size buffer.
- (pool::buffer_size_in_bytes): New static member function.
- (pool::pool): Parse GLIBCXX_TUNABLES environment variable to set
- pool size at runtime.
- (pool::in_pool): Use std::less<void*> for total order.
- (__freeres) [_GLIBCXX_EH_POOL_STATIC]: Do nothing.
- (__cxa_free_exception, __cxa_free_dependent_exception): Add
- [[unlikely]] attributes.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++17/Makefile.in: Regenerate.
- * src/c++20/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * src/filesystem/Makefile.in: Regenerate.
- * src/libbacktrace/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
-
-2022-10-11 Olivier Hainque <hainque@adacore.com>
- Olivier Hainque <hainque@adacore.com>
-
- * configure: Regenerate.
-
-2022-10-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (make_signed, make_unsigned): Remove
- constraints on primary template.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Undo changes to expected error in C++20 mode.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
- Likewise.
- * testsuite/20_util/make_signed/requirements/uninstantiated.cc:
- New test.
- * testsuite/20_util/make_unsigned/requirements/uninstantiated.cc:
- New test.
-
-2022-10-10 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (make_signed, make_unsigned): Add
- specializations for cv bool. Add requires-clause for C++20 to
- improve diagnostics for non-integral, non-enum cases.
- * testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
- Check cv bool.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
- Likewise.
- * testsuite/24_iterators/range_access/range_access_cpp20_neg.cc:
- Adjust expected errors for C++20 and later.
- * testsuite/lib/prune.exp: Prune "in requirements [with ...]"
- lines from diagnostics.
-
-2022-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Add libstdcxx-hosted
- enable arg as an alias for hosted-libstdcxx enable arg.
- * configure: Regenerate.
-
-2022-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/std_function.h: Include <new> but do not include
- <bits/stl_function.h>.
- * include/std/functional: Do not include <new>.
-
-2022-10-07 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Add role="bold" attribute to
- emphasis elements for issue titles.
- * doc/html/manual/bugs.html: Regenerate.
-
-2022-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.in: Regenerate.
-
-2022-10-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/invoke.h (__invoke_r): Check
- __has_builtin(__reference_converts_from_temporary) before using
- built-in.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/ranges/adaptors/join_with/1.cc: Remove unused
- <sstream header.
- (test04): Remove constexpr for old std::string ABI and test at
- runtime.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (remove_cv): Use __remove_cv built-in.
- (remove_reference): Use __remove_reference built-in.
- (remove_cvref): Use __remove_cvref built-in. Remove inheritance
- for fallback implementation.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h (__is_seed_seq): Replace with ...
- (_If_seed_seq_for): ... this.
- * include/ext/random: Adjust to use _If_seed_seq_for.
-
-2022-10-04 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (join_with_view::_Iterator::operator*):
- Replace use of std::visit with manual visitation.
- (join_with_view::_Iterator::operator++): Likewise.
- (join_with_view::_Iterator::operator--): Likewise.
- (join_with_view::_Iterator::iter_move): Likewise.
- (join_with_view::_Iterator::iter_swap): Likewise.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/25_algorithms/stable_sort/mem_check.cc: Do nto run
- for freestanding.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107139
- * include/std/coroutine: Remove all _GLIBCXXHOSTED preprocessor
- conditionals.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107134
- * include/c_global/cstdint [!_GLIBCXX_HOSTED]: Include
- <stdint-gcc.h> directly.
-
-2022-10-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107135
- * include/bits/functexcept.h [!_GLIBCXX_HOSTED]
- (__throw_invalid_argument, __throw_out_of_range)
- (__throw_out_of_range_fmt, __throw_runtime_error)
- (__throw_overflow_error): Define inline.
- * include/std/bitset (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]:
- Replace __builtin_abort with __throw_invalid_argument.
-
-2022-10-04 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges: Include <variant> for C++23.
- (__detail::__compatible_joinable_ranges): Define.
- (__detail::__bidirectional_common): Define.
- (join_with_view): Define.
- (join_with_view::_Iterator): Define.
- (join_with_view::_Sentinel): Define.
- (views::__detail::__can_join_with_view): Define.
- (views::_JoinWith, views::join_with): Define.
- * testsuite/std/ranges/adaptors/join_with/1.cc: New test.
-
-2022-10-04 Arsen Arsenović <arsen@aarsen.me>
-
- * include/std/iostream: Use ///< for inline documentation.
- * include/std/limits: Likewise.
- * include/experimental/internet: Likewise.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2020.xml: Update C++20 status.
- * doc/html/manual/status.html: Regenerate.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
-
- PR libstdc++/103626
- * testsuite/17_intro/headers/c++1998/stdc++_assert_neg.cc:
- Require ET hosted.
- * testsuite/18_support/aligned_alloc/aligned_alloc.cc: Likewise.
- * testsuite/18_support/new_nothrow.cc: Likewise.
- * testsuite/20_util/allocator/105975.cc: Likewise.
- * testsuite/20_util/allocator/14176.cc: Likewise.
- * testsuite/20_util/allocator/64135.cc: Likewise.
- * testsuite/20_util/allocator/89510.cc: Likewise.
- * testsuite/20_util/allocator/lwg3190.cc: Likewise.
- * testsuite/20_util/allocator/overaligned.cc: Likewise.
- * testsuite/20_util/allocator/rebind_c++20.cc: Likewise.
- * testsuite/20_util/allocator/requirements/constexpr.cc:
- Likewise.
- * testsuite/20_util/allocator/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/20_util/allocator/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/allocator/requirements/typedefs_c++20.cc:
- Likewise.
- * testsuite/20_util/allocator/void.cc: Likewise.
- * testsuite/20_util/allocator_traits/header-2.cc: Likewise.
- * testsuite/20_util/allocator_traits/header.cc: Likewise.
- * testsuite/20_util/allocator_traits/members/92878_92947.cc:
- Likewise.
- * testsuite/20_util/allocator_traits/members/pointers.cc:
- Likewise.
- * testsuite/20_util/allocator_traits/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/bad_function_call/cons_virtual_derivation.cc:
- Likewise.
- * testsuite/20_util/bind/42593.cc: Likewise.
- * testsuite/20_util/bitset/access/dr396.cc: Likewise.
- * testsuite/20_util/bitset/access/to_string.cc: Likewise.
- * testsuite/20_util/bitset/cons/16020.cc: Likewise.
- * testsuite/20_util/bitset/cons/dr1325-2.cc: Likewise.
- * testsuite/20_util/bitset/cons/dr396.cc: Likewise.
- * testsuite/20_util/bitset/debug/invalidation/1.cc: Likewise.
- * testsuite/20_util/bitset/ext/15361.cc: Likewise.
- * testsuite/20_util/bitset/operations/13838.cc: Likewise.
- * testsuite/20_util/bitset/operations/96303.cc: Likewise.
- * testsuite/20_util/bitset/version.cc: Likewise.
- * testsuite/20_util/enable_shared_from_this/56383.cc: Likewise.
- * testsuite/20_util/enable_shared_from_this/89303.cc: Likewise.
- * testsuite/20_util/enable_shared_from_this/members/assign.cc:
- Likewise.
- * testsuite/20_util/enable_shared_from_this/members/const.cc:
- Likewise.
- * testsuite/20_util/enable_shared_from_this/members/reinit.cc:
- Likewise.
- * testsuite/20_util/enable_shared_from_this/members/unique_ptr.cc:
- Likewise.
- * testsuite/20_util/enable_shared_from_this/members/weak_from_this.cc:
- Likewise.
- * testsuite/20_util/enable_shared_from_this/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/forward/1.cc: Likewise.
- * testsuite/20_util/forward/1_neg.cc: Likewise.
- * testsuite/20_util/function/1.cc: Likewise.
- * testsuite/20_util/function/10.cc: Likewise.
- * testsuite/20_util/function/2.cc: Likewise.
- * testsuite/20_util/function/3.cc: Likewise.
- * testsuite/20_util/function/4.cc: Likewise.
- * testsuite/20_util/function/43397.cc: Likewise.
- * testsuite/20_util/function/48541.cc: Likewise.
- * testsuite/20_util/function/5.cc: Likewise.
- * testsuite/20_util/function/58569.cc: Likewise.
- * testsuite/20_util/function/6.cc: Likewise.
- * testsuite/20_util/function/60594.cc: Likewise.
- * testsuite/20_util/function/65760.cc: Likewise.
- * testsuite/20_util/function/69222.cc: Likewise.
- * testsuite/20_util/function/7.cc: Likewise.
- * testsuite/20_util/function/77322.cc: Likewise.
- * testsuite/20_util/function/8.cc: Likewise.
- * testsuite/20_util/function/9.cc: Likewise.
- * testsuite/20_util/function/91456.cc: Likewise.
- * testsuite/20_util/function/assign/move.cc: Likewise.
- * testsuite/20_util/function/assign/move_target.cc: Likewise.
- * testsuite/20_util/function/cmp/cmp_neg.cc: Likewise.
- * testsuite/20_util/function/cons/55320.cc: Likewise.
- * testsuite/20_util/function/cons/57465.cc: Likewise.
- * testsuite/20_util/function/cons/72820.cc: Likewise.
- * testsuite/20_util/function/cons/addressof.cc: Likewise.
- * testsuite/20_util/function/cons/callable.cc: Likewise.
- * testsuite/20_util/function/cons/deduction.cc: Likewise.
- * testsuite/20_util/function/cons/lwg2774.cc: Likewise.
- * testsuite/20_util/function/cons/move.cc: Likewise.
- * testsuite/20_util/function/cons/move_target.cc: Likewise.
- * testsuite/20_util/function/cons/noexcept.cc: Likewise.
- * testsuite/20_util/function/cons/non_copyconstructible.cc:
- Likewise.
- * testsuite/20_util/function/cons/refqual.cc: Likewise.
- * testsuite/20_util/function/cons/70692.cc: Likewise.
- * testsuite/20_util/function/cons/deduction_c++23.cc: Likewise.
- * testsuite/20_util/function/invoke/forwarding.cc: Likewise.
- * testsuite/20_util/function/invoke/move_only.cc: Likewise.
- * testsuite/20_util/function/null_pointer_comparisons.cc:
- Likewise.
- * testsuite/20_util/function/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/function/target_no_rtti.cc: Likewise.
- * testsuite/20_util/function_objects/83607.cc: Likewise.
- * testsuite/20_util/function_objects/mem_fn/adl.cc: Likewise.
- * testsuite/20_util/headers/cstdlib/functions_std.cc: Likewise.
- * testsuite/20_util/headers/functional/types_std_c++0x.cc:
- Likewise.
- * testsuite/20_util/headers/memory/types_std_c++0x.cc: Likewise.
- * testsuite/20_util/is_function/35637.cc: Likewise.
- * testsuite/20_util/move/1.cc: Likewise.
- * testsuite/20_util/move_only_function/call.cc: Likewise.
- * testsuite/20_util/move_only_function/cons.cc: Likewise.
- * testsuite/20_util/move_only_function/move.cc: Likewise.
- * testsuite/20_util/move_only_function/version.cc: Likewise.
- * testsuite/20_util/owner_less/cmp.cc: Likewise.
- * testsuite/20_util/owner_less/noexcept.cc: Likewise.
- * testsuite/20_util/owner_less/void.cc: Likewise.
- * testsuite/20_util/pointer_safety/1.cc: Likewise.
- * testsuite/20_util/scoped_allocator/65279.cc: Likewise.
- * testsuite/20_util/scoped_allocator/69293_neg.cc: Likewise.
- * testsuite/20_util/scoped_allocator/construct_pair.cc:
- Likewise.
- * testsuite/20_util/scoped_allocator/dr2586.cc: Likewise.
- * testsuite/20_util/scoped_allocator/requirements/explicit_instantiation.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/assign/assign.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/auto_ptr_rvalue.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/assign/dr541.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/move.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/sfinae.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/shared_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/assign/shared_ptr_neg.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/assign/unique_ptr_lvalue_neg.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/assign/unique_ptr_rvalue.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/atomic/1.cc: Likewise.
- * testsuite/20_util/shared_ptr/atomic/2.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/reinterpret.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
- * testsuite/20_util/shared_ptr/comparison/42925.cc: Likewise.
- * testsuite/20_util/shared_ptr/comparison/86537.cc: Likewise.
- * testsuite/20_util/shared_ptr/comparison/cmp.cc: Likewise.
- * testsuite/20_util/shared_ptr/comparison/cmp_c++20.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/comparison/dr1401.cc: Likewise.
- * testsuite/20_util/shared_ptr/comparison/less.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/39405.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/46910.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/51365.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/52924.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/55123.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/58659.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/58839.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/61036.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/79467.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/80229.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/alias-rval.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/alias.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/array.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/auto_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/auto_ptr_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/copy.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/deduction.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/default.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/lwg2802.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/lwg3548.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/move.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/noexcept_move_construct.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/nullptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/pointer.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_array.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_1.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/weak_ptr.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/36949.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/58594-no-rtti.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/creation/58594.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/87278.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/92878_92947.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/creation/99006.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/dr402.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/dr925.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/make.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/no_rtti.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/overwrite.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/private.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/single_allocation.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/creation/single_allocation_no_rtti.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/creation/version.cc: Likewise.
- * testsuite/20_util/shared_ptr/dest/dest.cc: Likewise.
- * testsuite/20_util/shared_ptr/hash/1.cc: Likewise.
- * testsuite/20_util/shared_ptr/misc/24595.cc: Likewise.
- * testsuite/20_util/shared_ptr/misc/42019.cc: Likewise.
- * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise.
- * testsuite/20_util/shared_ptr/misc/swap.cc: Likewise.
- * testsuite/20_util/shared_ptr/modifiers/reset.cc: Likewise.
- * testsuite/20_util/shared_ptr/modifiers/reset_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/modifiers/reset_sfinae.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/modifiers/swap.cc: Likewise.
- * testsuite/20_util/shared_ptr/modifiers/swap_neg.cc: Likewise.
- * testsuite/20_util/shared_ptr/observers/array.cc: Likewise.
- * testsuite/20_util/shared_ptr/observers/bool_conv.cc: Likewise.
- * testsuite/20_util/shared_ptr/observers/get.cc: Likewise.
- * testsuite/20_util/shared_ptr/observers/owner_before.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/observers/unique.cc: Likewise.
- * testsuite/20_util/shared_ptr/observers/use_count.cc: Likewise.
- * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/requirements/weak_type.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/construct_at/95788.cc:
- Likewise.
- * testsuite/20_util/temporary_buffer.cc: Likewise.
- * testsuite/20_util/tuple/48476.cc: Likewise.
- * testsuite/20_util/tuple/cons/90700.cc: Likewise.
- * testsuite/20_util/tuple/cons/96803.cc: Likewise.
- * testsuite/20_util/tuple/cons/allocator_with_any.cc: Likewise.
- * testsuite/20_util/tuple/cons/allocators.cc: Likewise.
- * testsuite/20_util/tuple/cons/constexpr_allocator_arg_t.cc:
- Likewise.
- * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
- * testsuite/20_util/tuple/p2321r2.cc: Likewise.
- * testsuite/20_util/unique_ptr/creation/92878_92947.cc:
- Likewise.
- * testsuite/20_util/unique_ptr/creation/array.cc: Likewise.
- * testsuite/20_util/unique_ptr/creation/array_neg.cc: Likewise.
- * testsuite/20_util/unique_ptr/creation/constexpr.cc: Likewise.
- * testsuite/20_util/unique_ptr/creation/for_overwrite.cc:
- Likewise.
- * testsuite/20_util/unique_ptr/creation/for_overwrite__neg.cc:
- Likewise.
- * testsuite/20_util/unique_ptr/creation/single.cc: Likewise.
- * testsuite/20_util/uses_allocator/69293_neg.cc: Likewise.
- * testsuite/20_util/uses_allocator/92878_92947.cc: Likewise.
- * testsuite/20_util/uses_allocator/uninitialized_construct.cc:
- Likewise.
- * testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Likewise.
- * testsuite/20_util/weak_ptr/cons/deduction.cc: Likewise.
- * testsuite/20_util/weak_ptr/cons/noexcept_move_construct.cc:
- Likewise.
- * testsuite/20_util/weak_ptr/lock/1.cc: Likewise.
- * testsuite/20_util/weak_ptr/observers/owner_before.cc:
- Likewise.
- * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string/version.cc: Likewise.
- * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
- Likewise.
- * testsuite/21_strings/c_strings/char/69626.cc: Likewise.
- * testsuite/21_strings/char_traits/requirements/version.cc:
- Likewise.
- * testsuite/23_containers/vector/requirements/version.cc:
- Likewise.
- * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/92285.cc: Likewise.
- * testsuite/24_iterators/istreambuf_iterator/cons/sentinel.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/requirements/dr445.cc:
- Likewise.
- * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/25_algorithms/constexpr_macro.cc: Likewise.
- * testsuite/25_algorithms/equal/constrained.cc: Likewise.
- * testsuite/25_algorithms/headers/cstdlib/functions_std.cc:
- Likewise.
- * testsuite/25_algorithms/inplace_merge/1.cc: Likewise.
- * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/make_heap/movable.cc: Likewise.
- * testsuite/25_algorithms/pstl/feature_test-4.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/1.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/sort/35588.cc: Likewise.
- * testsuite/25_algorithms/stable_partition/1.cc: Likewise.
- * testsuite/25_algorithms/stable_partition/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/mem_check.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/moveable.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/stable_sort/1.cc: Likewise.
- * testsuite/26_numerics/complex/2.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/13943.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/2190.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/60401.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/dr2192.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/dr2192_neg.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/dr2735.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/functions_std.cc:
- Likewise.
- * testsuite/26_numerics/headers/cstdlib/macros.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/types_std.cc: Likewise.
- * testsuite/26_numerics/headers/cstdlib/types_std_c++0x.cc:
- Likewise.
- * testsuite/26_numerics/lerp/version.cc: Likewise.
- * testsuite/26_numerics/midpoint/version.cc: Likewise.
- * testsuite/27_io/basic_syncbuf/2.cc: Likewise.
- * testsuite/27_io/basic_syncstream/2.cc: Likewise.
- * testsuite/27_io/fpos/14320-1.cc: Likewise.
- * testsuite/27_io/fpos/14320-2.cc: Likewise.
- * testsuite/27_io/fpos/14320-3.cc: Likewise.
- * testsuite/27_io/fpos/14320-4.cc: Likewise.
- * testsuite/27_io/spanstream/version.cc: Likewise.
- * testsuite/29_atomics/atomic/lwg3220.cc: Likewise.
- * testsuite/29_atomics/atomic/operators/51811.cc: Likewise.
- * testsuite/29_atomics/atomic/wait_notify/1.cc: Likewise.
- * testsuite/29_atomics/atomic/wait_notify/102994.cc: Likewise.
- * testsuite/29_atomics/atomic/wait_notify/2.cc: Likewise.
- * testsuite/29_atomics/headers/stdatomic.h/version.cc: Likewise.
- * testsuite/30_threads/barrier/2.cc: Likewise.
- * testsuite/30_threads/condition_variable_any/stop_token/2.cc:
- Likewise.
- * testsuite/30_threads/jthread/version.cc: Likewise.
- * testsuite/30_threads/latch/2.cc: Likewise.
- * testsuite/30_threads/semaphore/2.cc: Likewise.
- * testsuite/30_threads/stop_token/2.cc: Likewise.
- * testsuite/abi/pr42230.cc: Likewise.
- * testsuite/ext/shared_ptr/1.cc: Likewise.
- * testsuite/libstdc++-xmethods/shared_ptr.cc: Likewise.
- * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
- * testsuite/std/ranges/adaptors/p1739.cc: Likewise.
- * testsuite/std/ranges/iota/lwg3292_neg.cc: Likewise.
- * testsuite/std/ranges/p2325.cc: Likewise.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (bitset(const C*, size_type n, C, C))
- [!_GLIBCXX_HOSTED]: Remove std::basic_string dependency.
- (_M_copy_from_ptr) [!_GLIBCXX_HOSTED]: Abort instead of
- throwing.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
-
- PR libstdc++/103626
- * include/std/bitset [!_GLIBCXX_HOSTED]: Re-enable std::hash.
- * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Require ET
- hosted.
- * testsuite/20_util/bitset/ext/constexpr.cc: Likewise.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103626
- * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
- Also require hosted.
- (check_effective_target_hosted): New proc.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103626
- * testsuite/17_intro/headers/c++1998/stdc++.cc [!__STDC_HOSTED__]:
- Do not include C headers that aren't valid for freestanding.
- * testsuite/17_intro/tag_type_explicit_ctor.cc [!__STDC_HOSTED__]:
- Do not test tag types that aren't defined for freestanding.
- * testsuite/18_support/headers/cstdlib/functions_std.cc: Do not
- check for std::getenv and std::system for freestanding.
- * testsuite/17_intro/using_namespace_std_exp_neg.cc [!__STDC_HOSTED__]:
- Do not test hosted parts of the standard library.
- * testsuite/17_intro/using_namespace_std_tr1_neg.cc [!__STDC_HOSTED__]:
- Likewise.
- * testsuite/20_util/allocator_traits/members/rebind_alloc.cc [!__STDC_HOSTED__]:
- Likewise.
- * testsuite/20_util/allocator_traits/requirements/explicit_instantiation.cc [!HOSTED]:
- Likewise.
- * testsuite/20_util/headers/bitset/synopsis.cc [!__STDC_HOSTED__]: Likewise.
- * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc [!__STDC_HOSTED__]:
- Likewise.
- * testsuite/20_util/pointer_traits/requirements/typedefs.cc [!__STDC_HOSTED__]:
- Likewise.
- * testsuite/20_util/tuple/cons/deduction.cc [!__STDC_HOSTED__]: Likewise.
- * testsuite/25_algorithms/move/93872.cc [!__STDC_HOSTED__]: Likewise.
- * testsuite/std/ranges/adaptors/100577.cc [!__STDC_HOSTED__]: Likewise.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
-
- PR libstdc++/106953
- * include/Makefile.am [!_GLIBCXX_HOSTED]: Remove
- install-freestanding-headers, unifying it with the usual
- install-headers
- * include/Makefile.in: Regenerate.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
- Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103626
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/bits/requires_hosted.h: New header.
- * include/experimental/algorithm: Include
- <bits/requires_hosted.h>.
- * include/experimental/any: Likewise.
- * include/experimental/array: Likewise.
- * include/experimental/buffer: Likewise.
- * include/experimental/chrono: Likewise.
- * include/experimental/deque: Likewise.
- * include/experimental/executor: Likewise.
- * include/experimental/filesystem: Likewise.
- * include/experimental/forward_list: Likewise.
- * include/experimental/functional: Likewise.
- * include/experimental/internet: Likewise.
- * include/experimental/io_context: Likewise.
- * include/experimental/iterator: Likewise.
- * include/experimental/list: Likewise.
- * include/experimental/map: Likewise.
- * include/experimental/memory: Likewise.
- * include/experimental/memory_resource: Likewise.
- * include/experimental/net: Likewise.
- * include/experimental/netfwd: Likewise.
- * include/experimental/numeric: Likewise.
- * include/experimental/optional: Likewise.
- * include/experimental/propagate_const: Likewise.
- * include/experimental/random: Likewise.
- * include/experimental/ratio: Likewise.
- * include/experimental/regex: Likewise.
- * include/experimental/scope: Likewise.
- * include/experimental/set: Likewise.
- * include/experimental/simd: Likewise.
- * include/experimental/socket: Likewise.
- * include/experimental/source_location: Likewise.
- * include/experimental/string: Likewise.
- * include/experimental/string_view: Likewise.
- * include/experimental/system_error: Likewise.
- * include/experimental/timer: Likewise.
- * include/experimental/tuple: Likewise.
- * include/experimental/unordered_map: Likewise.
- * include/experimental/unordered_set: Likewise.
- * include/experimental/utility: Likewise.
- * include/experimental/vector: Likewise.
- * include/std/barrier: Likewise.
- * include/std/chrono: Likewise.
- * include/std/condition_variable: Likewise.
- * include/std/deque: Likewise.
- * include/std/execution: Likewise.
- * include/std/filesystem: Likewise.
- * include/std/forward_list: Likewise.
- * include/std/fstream: Likewise.
- * include/std/future: Likewise.
- * include/std/iomanip: Likewise.
- * include/std/ios: Likewise.
- * include/std/iosfwd: Likewise.
- * include/std/iostream: Likewise.
- * include/std/istream: Likewise.
- * include/std/latch: Likewise.
- * include/std/list: Likewise.
- * include/std/locale: Likewise.
- * include/std/map: Likewise.
- * include/std/memory_resource: Likewise.
- * include/std/mutex: Likewise.
- * include/std/ostream: Likewise.
- * include/std/queue: Likewise.
- * include/std/random: Likewise.
- * include/std/regex: Likewise.
- * include/std/semaphore: Likewise.
- * include/std/set: Likewise.
- * include/std/shared_mutex: Likewise.
- * include/std/spanstream: Likewise.
- * include/std/sstream: Likewise.
- * include/std/stack: Likewise.
- * include/std/stacktrace: Likewise.
- * include/std/stop_token: Likewise.
- * include/std/streambuf: Likewise.
- * include/std/string: Likewise.
- * include/std/syncstream: Likewise.
- * include/std/system_error: Likewise.
- * include/std/thread: Likewise.
- * include/std/unordered_map: Likewise.
- * include/std/unordered_set: Likewise.
- * include/std/valarray: Likewise.
- * include/std/vector: Likewise.
- * include/tr1/array: Likewise.
- * include/tr1/ccomplex: Likewise.
- * include/tr1/cctype: Likewise.
- * include/tr1/cfenv: Likewise.
- * include/tr1/cfloat: Likewise.
- * include/tr1/cinttypes: Likewise.
- * include/tr1/climits: Likewise.
- * include/tr1/cmath: Likewise.
- * include/tr1/complex: Likewise.
- * include/tr1/complex.h: Likewise.
- * include/tr1/cstdarg: Likewise.
- * include/tr1/cstdbool: Likewise.
- * include/tr1/cstdint: Likewise.
- * include/tr1/cstdio: Likewise.
- * include/tr1/cstdlib: Likewise.
- * include/tr1/ctgmath: Likewise.
- * include/tr1/ctime: Likewise.
- * include/tr1/ctype.h: Likewise.
- * include/tr1/cwchar: Likewise.
- * include/tr1/cwctype: Likewise.
- * include/tr1/fenv.h: Likewise.
- * include/tr1/float.h: Likewise.
- * include/tr1/functional: Likewise.
- * include/tr1/inttypes.h: Likewise.
- * include/tr1/limits.h: Likewise.
- * include/tr1/math.h: Likewise.
- * include/tr1/memory: Likewise.
- * include/tr1/random: Likewise.
- * include/tr1/regex: Likewise.
- * include/tr1/stdarg.h: Likewise.
- * include/tr1/stdbool.h: Likewise.
- * include/tr1/stdint.h: Likewise.
- * include/tr1/stdio.h: Likewise.
- * include/tr1/stdlib.h: Likewise.
- * include/tr1/tgmath.h: Likewise.
- * include/tr1/tuple: Likewise.
- * include/tr1/type_traits: Likewise.
- * include/tr1/unordered_map: Likewise.
- * include/tr1/unordered_set: Likewise.
- * include/tr1/utility: Likewise.
- * include/tr1/wchar.h: Likewise.
- * include/tr1/wctype.h: Likewise.
- * include/c_global/cmath: Likewise.
- * include/ext/algorithm: Include <bits/requires_hosted.h>.
- * include/ext/bitmap_allocator.h: Likewise.
- * include/ext/cmath: Likewise.
- * include/ext/codecvt_specializations.h: Likewise.
- * include/ext/debug_allocator.h: Likewise.
- * include/ext/enc_filebuf.h: Likewise.
- * include/ext/extptr_allocator.h: Likewise.
- * include/ext/functional: Likewise.
- * include/ext/malloc_allocator.h: Likewise.
- * include/ext/memory: Likewise.
- * include/ext/mt_allocator.h: Likewise.
- * include/ext/new_allocator.h: Likewise.
- * include/ext/numeric: Likewise.
- * include/ext/pod_char_traits.h: Likewise.
- * include/ext/pool_allocator.h: Likewise.
- * include/ext/random: Likewise.
- * include/ext/random.tcc: Likewise.
- * include/ext/rb_tree: Likewise.
- * include/ext/rc_string_base.h: Likewise.
- * include/ext/rope: Likewise.
- * include/ext/ropeimpl.h: Likewise.
- * include/ext/slist: Likewise.
- * include/ext/sso_string_base.h: Likewise.
- * include/ext/stdio_filebuf.h: Likewise.
- * include/ext/stdio_sync_filebuf.h: Likewise.
- * include/ext/string_conversions.h: Likewise.
- * include/ext/throw_allocator.h: Likewise.
- * include/ext/vstring.h: Likewise.
- * include/ext/vstring.tcc: Likewise.
- * include/ext/vstring_fwd.h: Likewise.
- * include/ext/vstring_util.h: Likewise.
- * include/std/charconv: Likewise.
- (__cpp_lib_to_chars): Do not define for freestanding.
- * include/std/version: Adjust which macros get defined in
- freestanding.
- * include/ext/pointer.h [!_GLIBCXX_HOSTED]: Omit iostream
- functionality from freestanding.
- * include/std/algorithm [!_GLIBCXX_HOSTED]: Omit PSTL algos.
- * include/std/memory [!_GLIBCXX_HOSTED]: Omit
- <bits/stl_tempbuf.h> in freestanding
- * include/bits/algorithmfwd.h [!_GLIBCXX_HOSTED]: Omit leftover
- random_shuffle and stable_partition definition.
- * include/bits/stl_algo.h [!_GLIBCXX_HOSTED]: Omit
- random_shuffle and stable_partition from freestanding.
- * include/bits/ranges_algo.h [!_GLIBCXX_HOSTED]: Omit
- stable_partition from freestanding.
- * include/bits/concept_check.h: Remove needless HOSTED check.
- * include/std/iterator: Include <bits/ranges_base.h>.
- * include/std/numeric (__cpp_lib_parallel_algorithms): Do not
- define for freestanding.
- * include/std/functional (__cpp_lib_boyer_moore_searcher):
- Likewise.
- * testsuite/lib/prune.exp: Match error for hosted-only libstdc++
- tests.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
- Arsen Arsenović <arsen@aarsen.me>
-
- * include/precompiled/extc++.h [!_GLIBCXX_HOSTED]: Do not
- include headers that aren't valid for freestanding.
- * include/precompiled/stdc++.h [!_GLIBCXX_HOSTED]: Likewise.
-
-2022-10-03 Arsen Arsenović <arsen@aarsen.me>
-
- * configure.ac: Remove any lines that unconditionally include
- <stdio.h> from ac_includes_default, when running Autoconf <2.70.
- * configure: Regenerate.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103626
- * acinclude.m4 (GLIBCXX_ENABLE_HOSTED): Define _GLIBCXX_HOSTED
- to __STDC_HOSTED__ for non-freestanding installations.
- * configure: Regenerate.
- * include/Makefile.am (${host_builddir}/c++config.h): Adjust
- grep pattern.
- * include/Makefile.in: Regenerate.
- * testsuite/lib/libstdc++.exp (v3-build_support): Use
- -fno-freestanding.
- * testsuite/libstdc++-abi/abi.exp: Likewise.
-
-2022-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/basic_ostream/inserters_other/char/6.cc:
- Change body of unused operator<< overload to throw if called.
- * testsuite/27_io/basic_ostream/inserters_other/wchar_t/6.cc:
- Likewise.
-
-2022-10-03 François Dumont <fdumont@gcc.gnu.org>
-
- * python/libstdcxx/v6/printers.py (Printer.add_version): Do not add version
- namespace for __cxx11 symbols.
- (add_one_template_type_printer): Likewise.
- (add_one_type_printer): Likewise.
- (FilteringTypePrinter._recognizer.recognize): Add a workaround for std::string & al
- ambiguous typedef matching both std:: and std::__cxx11:: symbols.
- * testsuite/libstdc++-prettyprinters/cxx17.cc: Remove obsolete
- \#define _GLIBCXX_USE_CXX11_ABI 0.
- * testsuite/libstdc++-prettyprinters/simple.cc: Likewise. Adapt test to accept
- std::__cxx11::list.
- * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/whatis.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/80276.cc: Likewise and remove xfail for c++20
- and debug mode.
- * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
-
-2022-09-30 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/bitset/access/to_ulong.cc: Construct bitset
- from binary literal instead of using stringstream.
-
-2022-09-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (operator>>): Use a simple buffer instead
- of std::basic_string.
-
-2022-09-30 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (_M_copy_from_ptr, _M_copy_from_string)
- (_M_copy_to_string): Change access to private.
- (_M_copy_from_string(const basic_string&, size_t, size_t)):
- Remove.
- (_M_copy_to_string(const basic_string&)): Remove.
-
-2022-09-30 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/bind/ref_neg.cc: Fix dg-prune-output
- directive.
-
-2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
- Yvan ROUX <yvan.roux@foss.st.com>
-
- * testsuite/20_util/bind/ref_neg.cc: Prune Windows paths too.
-
-2022-09-30 Arsen Arsenović <arsen@aarsen.me>
-
- * include/std/bitset: Include <bits/stl_algobase.h>.
-
-2022-09-29 François Dumont <fdumont@gcc.gnu.org>
-
- * python/libstdcxx/v6/printers.py (add_one_template_type_printer): Register
- printer for types in std::__debug namespace with template parameters in std::__8
- namespace.
-
-2022-09-29 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/unique_ptr.h (unique_ptr<_Tp[], _Dp>): Remove
- __remove_cv and use __remove_cv_t instead.
-
-2022-09-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__is_invocable_impl): Check
- __has_builtin(__reference_converts_from_temporary) before using
- built-in.
-
-2022-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/evolution.xml: Document std::bind API
- changes.
- * doc/xml/manual/intro.xml: Document LWG 2487 status.
- * doc/xml/manual/using.xml: Clarify default value of
- _GLIBCXX_USE_DEPRECATED.
- * doc/html/*: Regenerate.
- * include/std/functional (_Bind::operator()(Args&&...) volatile)
- (_Bind::operator()(Args&&...) const volatile)
- (_Bind_result::operator()(Args&&...) volatile)
- (_Bind_result::operator()(Args&&...) const volatile): Replace
- with deleted overload for C++20 and later.
- * testsuite/20_util/bind/cv_quals.cc: Check for deprecated
- warnings in C++17.
- * testsuite/20_util/bind/cv_quals_2.cc: Likewise, and check for
- ill-formed in C++20.
-
-2022-09-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/70692
- * include/bits/invoke.h [__cplusplus < 201703] (__invoke_r):
- Remove is_invocable and is_convertible constraints.
- * include/std/type_traits (__is_invocable_impl::_S_conv): Use
- non-deduced context for parameter.
- (__is_invocable_impl::_S_test): Remove _Check_noex template
- parameter and use deduced noexcept value in its place. Add bool
- parameter to detect dangling references.
- (__is_invocable_impl::type): Adjust call to _S_test to avoid
- deducing unnecessary noexcept property..
- (__is_invocable_impl::__nothrow_type): Rename to ...
- (__is_invocable_impl::__nothrow_conv): ... this. Adjust call
- to _S_test to deduce noexcept property.
- * testsuite/20_util/bind/dangling_ref.cc: New test.
- * testsuite/20_util/function/cons/70692.cc: New test.
- * testsuite/20_util/function_objects/invoke/dangling_ref.cc:
- New test.
- * testsuite/20_util/is_invocable/dangling_ref.cc: New test.
- * testsuite/30_threads/packaged_task/cons/dangling_ref.cc:
- New test.
-
-2022-09-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/107049
- * testsuite/20_util/is_convertible/requirements/access.cc: New
- test.
-
-2022-09-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/106651
- * include/bits/std_function.h (__function_guide_t): New alias
- template.
- [__cpp_static_call_operator] (__function_guide_static_helper):
- New class template.
- (function): Use __function_guide_t in deduction guide.
- * include/std/future (packaged_task): Use __function_guide_t in
- deduction guide.
- * testsuite/20_util/function/cons/deduction_c++23.cc: New test.
- * testsuite/30_threads/packaged_task/cons/deduction_c++23.cc:
- New test.
-
-2022-09-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ptr_traits.h (__ptr_traits_elem) [__cpp_concepts]:
- Also define the __ptr_traits_elem class template for the
- concepts case.
- (pointer_traits<Ptr>): Remove constrained partial
- specialization.
- * testsuite/20_util/pointer_traits/lwg3545.cc: Check for
- ambiguitiy with program-defined partial specialization.
-
-2022-09-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_convertible, is_convertible_v):
- Define using new built-in.
- (is_nothrow_convertible is_nothrow_convertible_v): Likewise.
-
-2022-09-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/107037
- * include/std/bitset (_Base_bitset::_M_do_reset): Use
- preprocessor conditional around non-C++03 code.
- * testsuite/20_util/bitset/107037.cc: New test.
-
-2022-09-24 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (allocator_traits::is_always_equal):
- Only instantiate is_empty if needed.
- * include/bits/ptr_traits.h (__ptr_traits_impl::difference_type)
- (__ptr_traits_impl::rebind): Use __detected_or.
- * include/experimental/type_traits (is_same_v): Add a partial
- specialization instead of instantiating the std::is_same class
- template.
- (detected_t): Redefine in terms of detected_or_t.
- (is_detected, is_detected_v): Redefine in terms of detected_t.
- * include/std/type_traits [__cpp_concepts] (__detected_or): Add
- new definition using concepts.
- (__detector::value_t): Rename to __is_detected.
- * testsuite/17_intro/names.cc: Check value_t isn't used.
-
-2022-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/is_assignable/requirements/access.cc:
- New test.
-
-2022-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/91456
- * include/std/type_traits (__is_nothrow_invocable_lib): Remove.
- (__is_invocable_impl::__nothrow_type): New member type which
- checks if the conversion can throw.
- (__is_nt_invocable_impl): Replace class template with alias
- template to __is_nt_invocable_impl::__nothrow_type.
- * testsuite/20_util/is_nothrow_invocable/91456.cc: New test.
- * testsuite/20_util/is_nothrow_convertible/value.cc: Remove
- macro used by value_ext.cc test.
- * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Remove
- test for non-standard __is_nothrow_invocable_lib trait.
-
-2022-09-23 Marek Polacek <polacek@redhat.com>
-
- PR c++/106784
- * include/std/type_traits: Rename __is_nothrow_convertible to
- __is_nothrow_convertible_lib.
- * testsuite/20_util/is_nothrow_convertible/value_ext.cc: Likewise.
-
-2022-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (operator>>): Do not copy for N==0.
- * testsuite/20_util/bitset/io/input.cc: Add comment.
-
-2022-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/bitset (__debug::bitset): Add constexpr to all
- member functions.
- (operator&, operator|, operator^): Add inline and constexpr.
- (operator>>, operator<<): Add inline.
- * testsuite/20_util/bitset/access/constexpr.cc: Only check using
- constexpr std::string for the cxx11 ABI.
- * testsuite/20_util/bitset/cons/constexpr_c++23.cc: Likewise.
- * testsuite/20_util/headers/bitset/synopsis.cc: Check constexpr
- for C++23.
-
-2022-09-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (bitset::_M_copy_to_string): Find set bits
- instead of iterating over individual bits.
-
-2022-09-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bitset (bitset): Add constexpr for C++23. Guard
- members using std::string with _GLIBCXX_HOSTED.
- * include/std/version (__cpp_lib_constexpr_bitset): Define.
- * testsuite/20_util/bitset/access/constexpr.cc: New test.
- * testsuite/20_util/bitset/cons/constexpr_c++23.cc: New test.
- * testsuite/20_util/bitset/count/constexpr.cc: New test.
- * testsuite/20_util/bitset/ext/constexpr.cc: New test.
- * testsuite/20_util/bitset/operations/constexpr_c++23.cc: New test.
- * testsuite/20_util/bitset/version.cc: New test.
-
-2022-09-22 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/bitset/18604.cc: Moved to...
- * testsuite/20_util/bitset/18604.cc: ...here.
- * testsuite/23_containers/bitset/45713.cc: Moved to...
- * testsuite/20_util/bitset/45713.cc: ...here.
- * testsuite/23_containers/bitset/to_string/dr396.cc: Moved to...
- * testsuite/20_util/bitset/access/dr396.cc: ...here.
- * testsuite/23_containers/bitset/to_string/1.cc: Moved to...
- * testsuite/20_util/bitset/access/to_string.cc: ...here.
- * testsuite/23_containers/bitset/to_ullong/1.cc: Moved to...
- * testsuite/20_util/bitset/access/to_ullong.cc: ...here.
- * testsuite/23_containers/bitset/to_ulong/1.cc: Moved to...
- * testsuite/20_util/bitset/access/to_ulong.cc: ...here.
- * testsuite/23_containers/bitset/cons/1.cc: Moved to...
- * testsuite/20_util/bitset/cons/1.cc: ...here.
- * testsuite/23_containers/bitset/cons/16020.cc: Moved to...
- * testsuite/20_util/bitset/cons/16020.cc: ...here.
- * testsuite/23_containers/bitset/cons/2.cc: Moved to...
- * testsuite/20_util/bitset/cons/2.cc: ...here.
- * testsuite/23_containers/bitset/cons/3.cc: Moved to...
- * testsuite/20_util/bitset/cons/3.cc: ...here.
- * testsuite/23_containers/bitset/cons/38244.cc: Moved to...
- * testsuite/20_util/bitset/cons/38244.cc: ...here.
- * testsuite/23_containers/bitset/cons/50268.cc: Moved to...
- * testsuite/20_util/bitset/cons/50268.cc: ...here.
- * testsuite/23_containers/bitset/cons/6282.cc: Moved to...
- * testsuite/20_util/bitset/cons/6282.cc: ...here.
- * testsuite/23_containers/bitset/cons/constexpr.cc: Moved to...
- * testsuite/20_util/bitset/cons/constexpr.cc: ...here.
- * testsuite/23_containers/bitset/cons/dr1325-1.cc: Moved to...
- * testsuite/20_util/bitset/cons/dr1325-1.cc: ...here.
- * testsuite/23_containers/bitset/cons/dr1325-2.cc: Moved to...
- * testsuite/20_util/bitset/cons/dr1325-2.cc: ...here.
- * testsuite/23_containers/bitset/cons/dr396.cc: Moved to...
- * testsuite/20_util/bitset/cons/dr396.cc: ...here.
- * testsuite/23_containers/bitset/debug/invalidation/1.cc: Moved to...
- * testsuite/20_util/bitset/debug/invalidation/1.cc: ...here.
- * testsuite/23_containers/bitset/ext/15361.cc: Moved to...
- * testsuite/20_util/bitset/ext/15361.cc: ...here.
- * testsuite/23_containers/bitset/hash/1.cc: Moved to...
- * testsuite/20_util/bitset/hash/1.cc: ...here.
- * testsuite/23_containers/bitset/input/1.cc: Moved to...
- * testsuite/20_util/bitset/io/input.cc: ...here.
- * testsuite/23_containers/bitset/count/6124.cc: Moved to...
- * testsuite/20_util/bitset/observers/6124.cc: ...here.
- * testsuite/23_containers/bitset/all/1.cc: Moved to...
- * testsuite/20_util/bitset/observers/all.cc: ...here.
- * testsuite/23_containers/bitset/test/1.cc: Moved to...
- * testsuite/20_util/bitset/observers/test.cc: ...here.
- * testsuite/23_containers/bitset/operations/1.cc: Moved to...
- * testsuite/20_util/bitset/operations/1.cc: ...here.
- * testsuite/23_containers/bitset/operations/13838.cc: Moved to...
- * testsuite/20_util/bitset/operations/13838.cc: ...here.
- * testsuite/23_containers/bitset/operations/2.cc: Moved to...
- * testsuite/20_util/bitset/operations/2.cc: ...here.
- * testsuite/23_containers/bitset/operations/96303.cc: Moved to...
- * testsuite/20_util/bitset/operations/96303.cc: ...here.
- * testsuite/23_containers/bitset/operations/constexpr-2.cc: Moved to...
- * testsuite/20_util/bitset/operations/constexpr-2.cc: ...here.
- * testsuite/23_containers/bitset/operations/constexpr.cc: Moved to...
- * testsuite/20_util/bitset/operations/constexpr.cc: ...here.
- * testsuite/23_containers/bitset/requirements/constexpr_functions.cc: Moved to...
- * testsuite/20_util/bitset/requirements/constexpr_functions.cc: ...here.
- * testsuite/23_containers/bitset/requirements/explicit_instantiation/1.cc: Moved to...
- * testsuite/20_util/bitset/requirements/explicit_instantiation/1.cc: ...here.
- * testsuite/23_containers/bitset/requirements/explicit_instantiation/1_c++0x.cc: Moved to...
- * testsuite/20_util/bitset/requirements/explicit_instantiation/1_c++0x.cc: ...here.
- * testsuite/23_containers/headers/bitset/synopsis.cc: Moved to...
- * testsuite/20_util/headers/bitset/synopsis.cc: ...here.
-
-2022-09-22 François Dumont <fdumont@gcc.gnu.org>
-
- * python/libstdcxx/v6/printers.py: Remove ptinter registration for non-existing
- types std::__debug::unique_ptr, std::__debug::stack, std::__debug::queue,
- std::__debug::priority_queue.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/91456
- * testsuite/20_util/function/91456.cc: Add comment with PR
- number.
- * testsuite/20_util/is_invocable/91456.cc: Likewise. Replace
- std::function checks with std::is_invocable_r checks.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/headers/c++1998/all_attributes.cc: Remove
- unnecessary main function.
- * testsuite/17_intro/headers/c++2011/all_attributes.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2014/all_attributes.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2017/all_attributes.cc:
- Likewise.
- * testsuite/17_intro/headers/c++2020/all_attributes.cc:
- Likewise.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/headers/memory/synopsis.cc: Add declarations
- from C++11 and later.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/documentation_hacking.xml: Remove trailing
- whitespace.
- * doc/xml/manual/policy_data_structures.xml: Likewise.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/c_compatibility/stdlib.h [!_GLIBCXX_HOSTED]: Add
- using-declaration for _Exit.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/uncaught_exception/14026.cc: Qualify
- call to std::abort.
-
-2022-09-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_base.h: Include <initializer_list>.
-
-2022-09-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (quick_exit): Fix
- missing space.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106953
- * include/backward/auto_ptr.h [!_GLIBCXX_HOSTED]: Do not define
- shared_ptr members.
- * include/bits/alloc_traits.h [!_GLIBCXX_HOSTED]: Do not declare
- std::allocator_traits<std::allocator<T>> specializations for
- freestanding.
- * include/bits/memoryfwd.h [!_GLIBCXX_HOSTED] (allocator): Do
- not declare for freestanding.
- * include/bits/stl_algo.h [!_GLIBCXX_HOSTED] (stable_partition):
- Do not define for freestanding.
- [!_GLIBCXX_HOSTED] (merge, stable_sort): Do not use temporary
- buffers for freestanding.
- * include/bits/stl_algobase.h [!_GLIBCXX_HOSTED]: Do not declare
- streambuf iterators and overloaded algorithms using them.
- * include/bits/stl_uninitialized.h [!_GLIBCXX_HOSTED]: Do not
- define specialized overloads for std::allocator.
- * include/bits/unique_ptr.h [!_GLIBCXX_HOSTED] (make_unique)
- (make_unique_for_overwrite, operator<<): Do not define for
- freestanding.
- * include/c_global/cstdlib [!_GLIBCXX_HOSTED] (_Exit): Declare.
- Use _GLIBCXX_NOTHROW instead of throw().
- * include/debug/assertions.h [!_GLIBCXX_HOSTED]: Ignore
- _GLIBCXX_DEBUG for freestanding.
- * include/debug/debug.h [!_GLIBCXX_DEBUG]: Likewise.
- * include/std/bit [!_GLIBCXX_HOSTED]: Do not use the custom
- __int_traits if <ext/numeric_traits.h> is available.
- * include/std/functional [!_GLIBCXX_HOSTED]: Do not include
- headers that aren't valid for freestanding.
- (boyer_moore_searcher, boyer_moore_horspool_searcher): Do not
- define for freestanding.
- * include/std/iterator [!_GLIBCXX_HOSTED]: Do not include
- headers that aren't valid for freestanding.
- * include/std/memory [!_GLIBCXX_HOSTED]: Likewise.
- * include/std/ranges [!_GLIBCXX_HOSTED] (istream_view): Do not
- define for freestanding.
- (views::__detail::__is_basic_string_view) [!_GLIBCXX_HOSTED]:
- Do not define partial specialization for freestanding.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (__alloc_swap)
- (__shrink_to_fit_aux): Move here, from ...
- * include/bits/allocator.h: ... here.
- * include/ext/alloc_traits.h: Do not include allocator.h.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_algo.h: Include <bits/stl_algobase.h>.
- * include/bits/stl_tempbuf.h: Include headers for __try and
- __catch macros, std::pair, and __gnu_cxx::__numeric_traits.
- * include/bits/stream_iterator.h: Include <iosfwd> and headers
- for std::addressof and std::iterator.
- * include/bits/streambuf_iterator.h: Include header for
- std::iterator.
- * include/std/iterator: Do not include <iosfwd>.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
- Store value with non-zero padding bits after construction.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/tr1/random.h (__detail::_Adaptor::_BEngine): Remove.
- (__detail::_Adaptor::_M_g): Make public.
- (__detail::_Adaptor<_Engine*, _Dist>): Remove partial
- specialization.
- (variate_generate::_Value): New helper to simplify handling of
- _Engine* and _Engine& template arguments.
- (variate_generate::engine_value_type): Define to underlying
- engine type, not adapted type.
- (variate_generate::engine()): Return underlying engine instead
- of adaptor.
- * testsuite/tr1/5_numerical_facilities/random/variate_generator/37986.cc:
- Fix comment.
- * testsuite/tr1/5_numerical_facilities/random/variate_generator/requirements/typedefs.cc:
- Check member typedefs have the correct types.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/formatter.h [_GLIBCXX_DEBUG_BACKTRACE]
- (_Error_formatter): Use 0 as null pointer constant.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocator.h (__alloc_neq): Remove.
- * include/bits/stl_list.h (list::_M_check_equal_allocators):
- Compare allocators directly, without __alloc_neq.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (PREDEFINED): Remove __allocator_base.
- * include/bits/allocator.h: Fix nesting of Doxygen commands.
-
-2022-09-16 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/abi.xml: Document GLIBCXX_3.4.30 and
- GLIBCXX_3.4.31 versions.
- * doc/html/manual/abi.html: Regenerate.
-
-2022-09-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/memory: Do not include <bits/stl_algobase.h>.
-
-2022-09-15 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_PRE_LOCK):
- Replace with ...
- (_GLIBCXX_TSAN_MUTEX_TRY_LOCK): ... this, add try_lock flag.
- (_GLIBCXX_TSAN_MUTEX_TRY_LOCK_FAILED): New macro using
- try_lock_failed flag
- (_GLIBCXX_TSAN_MUTEX_POST_LOCK): Rename to ...
- (_GLIBCXX_TSAN_MUTEX_LOCKED): ... this.
- (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK): Remove invalid flag.
- (_GLIBCXX_TSAN_MUTEX_POST_UNLOCK): Remove invalid flag.
- (_Sp_atomic::_Atomic_count::lock): Use new macros.
-
-2022-09-15 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_algo.h (__adjacent_find_fn, adjacent_find):
- Move to ...
- * include/bits/ranges_util.h: ... here.
- * include/std/ranges (chunk_by_view): Define.
- (chunk_by_view::_Iterator): Define.
- (__detail::__can_chunk_by_view): Define.
- (_ChunkBy, chunk_by): Define.
- * testsuite/std/ranges/adaptors/chunk_by/1.cc: New test.
-
-2022-09-15 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
- Adapt dg-prune-output to _GLIBCXX_INLINE_VERSION mode.
-
-2022-09-15 François Dumont <fdumont@gcc.gnu.org>
-
- * config/abi/pre/gnu-versioned-namespace.ver: Remove obsolete std::__detail::__8
- symbols.
-
-2022-09-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_atomic.h (_GLIBCXX_TSAN_MUTEX_DESTROY)
- (_GLIBCXX_TSAN_MUTEX_PRE_LOCK, _GLIBCXX_TSAN_MUTEX_POST_LOCK)
- (_GLIBCXX_TSAN_MUTEX_PRE_UNLOCK, _GLIBCXX_TSAN_MUTEX_POST_UNLOCK)
- (_GLIBCXX_TSAN_MUTEX_PRE_SIGNAL, _GLIBCXX_TSAN_MUTEX_POST_SIGNAL):
- Define macros for TSan annotation functions.
- (_Sp_atomic::_Atomic_count): Add annotations.
-
-2022-09-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_tempbuf.h: Include <new>.
-
-2022-09-14 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names.cc: Explain why poison pragma can't
- be used.
-
-2022-09-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/future
- (_State_baseV2::__setter(exception_ptr&, promise&)): Add
- assertion for LWG 2276 precondition.
- * testsuite/30_threads/promise/members/set_exception_neg.cc:
- New test.
-
-2022-09-14 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/intro.xml: Document LWG 1203.
- * doc/html/*: Regenerate.
-
-2022-09-14 Philipp Fent <fent@in.tum.de>
-
- * python/libstdcxx/v6/printers.py (access_streambuf_ptrs):
- New helper function.
- (StdStringBufPrinter, StdStringStreamPrinter): New printers.
- (build_libstdcxx_dictionary): Register stringstream printers.
- * testsuite/libstdc++-prettyprinters/debug.cc: Check string
- streams.
- * testsuite/libstdc++-prettyprinters/simple.cc: Likewise.
- * testsuite/libstdc++-prettyprinters/simple11.cc: Likewise.
-
-2022-09-13 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::__slide_caches_nothing): Define.
- (__detail::__slide_caches_last): Define.
- (__detail::__slide_caches_first): Define.
- (slide_view): Define.
- (enable_borrowed_range<slide_view>): Define.
- (slide_view::_Iterator): Define.
- (slide_view::_Sentinel): Define.
- (views::__detail::__can_slide_view): Define.
- (views::_Slide, views::slide): Define.
- * testsuite/std/ranges/adaptors/slide/1.cc: New test.
-
-2022-09-13 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::__div_ceil): Define.
- (chunk_view): Define.
- (chunk_view::_OuterIter): Define.
- (chunk_view::_OuterIter::value_type): Define.
- (chunk_view::_InnerIter): Define.
- (chunk_view<_Vp>): Define partial specialization for forward
- ranges.
- (enable_borrowed_range<chunk_view>): Define.
- (chunk_view<_Vp>::_Iterator): Define.
- (views::__detail::__can_chunk_view): Define.
- (views::_Chunk, views::chunk): Define.
- * testsuite/std/ranges/adaptors/chunk/1.cc: New test.
-
-2022-09-13 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (join_view::_Iterator::_M_satisfy):
- Adjust resetting _M_inner as per LWG 3569.
- (join_view::_Iterator::_M_inner): Wrap in std::optional
- as per LWG 3569.
- (join_view::_Iterator::_Iterator): Relax constraints as
- per LWG 3569.
- (join_view::_Iterator::operator*): Adjust as per LWG 3569.
- (join_view::_Iterator::operator->): Likewise.
- (join_view::_Iterator::operator++): Likewise.
- (join_view::_Iterator::operator--): Likewise.
- (join_view::_Iterator::iter_move): Likewise.
- (join_view::_Iterator::iter_swap): Likewise.
- * testsuite/std/ranges/adaptors/join.cc (test14): New test.
-
-2022-09-13 Patrick Palka <ppalka@redhat.com>
-
- * include/debug/safe_iterator.h (_GLIBCXX_DEBUG_VERIFY_OPERANDS):
- Add parentheses to avoid -Wparentheses warning.
-
-2022-09-12 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/106320
- * testsuite/std/ranges/adaptors/join.cc (test13): New test.
-
-2022-09-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Fix
- comments.
- * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
- Likewise.
-
-2022-09-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/105329
- * acinclude.m4 (libtool_VERSION): Change to 6:31:0.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.21): Don't export
- std::basic_string methods with name length of 15.
- (GLIBCXX_3.4.31): Export std::basic_string::_M_replace_cold.
- * testsuite/util/testsuite_abi.cc (check_version): Handle
- GLIBCXX_3.4.31.
- * include/bits/basic_string.h (std::basic_string::_M_replace_cold):
- Declare.
- * include/bits/basic_string.tcc (std::basic_string::_M_replace_cold):
- Define and export even for C++20.
- (std::basic_string::_M_replace): Use __builtin_expect, outline
- the overlapping case to _M_replace_cold.
- * configure: Regenerated.
-
-2022-09-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_base.h (__atomic_impl::__compare_exchange):
- Rename __weak to __is_weak.
- * testsuite/17_intro/names.cc: Add __weak and __strong.
-
-2022-09-09 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/106803
- * include/std/ranges (views::_ZipTransform::operator()): Correct
- return type in the empty case.
- (views::_AdjacentTransform::operator()): Likewise.
-
-2022-09-09 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/106798
- * include/std/ranges (adjacent_view::_Iterator::_Iterator): Fix
- typo.
- * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): New test.
-
-2022-09-09 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/106766
- * include/std/ranges (zip_view::_Iterator::operator-): Use
- __to_unsigned_like instead of make_unsigned_t.
- (zip_view::_Sentinel::operator-): Likewise.
- * testsuite/std/ranges/zip/1.cc (test04): New test.
-
-2022-09-08 François Dumont <fdumont@gcc.gnu.org>
-
- * testsuite/util/testsuite_performance.h (__gnu_test::MallocInfo): New.
- (__gnu_test::malloc_info): New, replace mallinfo on current platform
- supporting it and use mallinfo2 when glibc >= 2.33.
-
-2022-09-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR c++/106838
- * testsuite/20_util/is_complete_or_unbounded/memoization_neg.cc:
- Prune additional errors from front-end.
- * testsuite/20_util/is_move_constructible/incomplete_neg.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable/incomplete_neg.cc:
- Likewise.
- * testsuite/20_util/is_nothrow_swappable_with/incomplete_neg.cc:
- Likewise.
- * testsuite/20_util/is_swappable_with/incomplete_neg.cc:
- Likewise.
-
-2022-09-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/c_global/cstddef (byte): Add always_inline attribute
- to all operator overloads.
- (to_integer): Add always_inline attribute.
-
-2022-09-08 Thomas Rodgers <trodgers@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/atomic_base.h (__atomic_impl::__maybe_has_padding):
- New function.
- (__atomic_impl::clear_padding): Likewise.
- (__atomic_impl::__compare_exchange): Likewise.
- (__atomic_impl::compare_exchange_weak): Delegate to
- __compare_exchange.
- (__atomic_impl::compare_exchange_strong): Likewise.
- * include/std/atomic (atomic<T>::atomic(T)): Clear padding when
- possible in a constexpr function.
- (atomic::store): Clear padding.
- (atomic::exchange): Likewise.
- (atomic::compare_exchange_weak): Use __compare_exchange.
- (atomic::compare_exchange_strong): Likewise.
- * testsuite/29_atomics/atomic/compare_exchange_padding.cc: New
- test.
- * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc:
- New test.
-
-2022-09-08 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/system_error (__adl_only::make_error_code): Add
- deleted function.
- (__adl_only::make_error_condition): Likewise.
- (error_code::error_code(ErrorCodeEnum)): Add using-declaration
- for deleted function.
- (error_condition::error_condition(ErrorConditionEnum)):
- Likewise.
- * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: New test.
- * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc: New test.
-
-2022-09-07 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/barrier: Add missing runtime exception.
-
-2022-09-07 Patrick Palka <ppalka@redhat.com>
-
- * include/std/type_traits (is_reference): Make the primary
- template derive from false_type. Define two partial
- specializations that derive from true_type.
-
-2022-09-07 Patrick Palka <ppalka@redhat.com>
-
- * include/std/type_traits (__is_void_helper): Remove.
- (is_void): Make the primary template derive from false_type,
- and define four explicit specializations that derive from
- true_type.
- (__is_null_pointer_helper, is_null_pointer): Likewise.
-
-2022-09-07 Jason Merrill <jason@redhat.com>
-
- * libsupc++/dyncast.cc (__dynamic_cast): Avoid virtual function
- call in simple success case.
-
-2022-09-06 Philipp Fent <fent@in.tum.de>
-
- * testsuite/libstdc++-prettyprinters/48362.cc: Fix expected
- tuple indices.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Likewise.
-
-2022-09-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__success_type, __failure_type): Move
- definitions later in the file.
-
-2022-09-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_trivial_v, is_trivially_copyable_v)
- (is_standard_layout_v, is_pod_v, is_literal_type_v): Use
- built-in instead of class template.
- (is_same_v): Add partial specialization for true case.
-
-2022-09-02 Patrick Palka <ppalka@redhat.com>
-
- * include/std/tuple (tuple::_UseOtherCtor): Use ::type when
- deriving from __and_, __or_ or __not_.
- * include/std/type_traits (negation): Likewise.
- (is_unsigned): Likewise.
- (__is_implicitly_default_constructible): Likewise.
- (is_trivially_destructible): Likewise.
- (__is_nt_invocable_impl): Likewise.
-
-2022-09-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_constructible_v)
- (is_default_constructible_v, is_copy_constructible_v)
- (is_move_constructible_v): Define using __is_constructible.
- (is_assignable_v, is_copy_assignable_v, is_move_assignable_v):
- Define using __is_assignable.
- (is_trivially_constructible_v)
- (is_trivially_default_constructible_v)
- (is_trivially_copy_constructible_v)
- (is_trivially_move_constructible_v): Define using
- __is_trivially_constructible.
- (is_trivially_assignable_v, is_trivially_copy_assignable_v)
- (is_trivially_move_assignable_v): Define using
- __is_trivially_assignable.
- (is_nothrow_constructible_v)
- (is_nothrow_default_constructible_v)
- (is_nothrow_copy_constructible_v)
- (is_nothrow_move_constructible_v): Define using
- __is_nothrow_constructible.
- (is_nothrow_assignable_v, is_nothrow_copy_assignable_v)
- (is_nothrow_move_assignable_v): Define using
- __is_nothrow_assignable.
-
-2022-09-02 Patrick Palka <ppalka@redhat.com>
-
- * include/std/type_traits (__or_, __and_, __not_): Redefine as a
- class template instead of as an alias template.
- * testsuite/20_util/logical_traits/requirements/short_circuit.cc:
- Add more tests for conjunction and disjunction. Add corresponding
- tests for __and_ and __or_.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/ranges (adjacent_transform_view::_Iterator): Add
- typename keyword before dependent qualified-id.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__is_referenceable): Remove.
- (__add_lvalue_reference_helper, __add_rvalue_reference_helper):
- Use __void_t instead of __is_referenceable.
- (__add_pointer_helper): Likewise.
- (add_pointer): Add partial specializations for reference types.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__is_constructible_impl): Replace
- class template with alias template.
- (is_default_constructible, is_nothrow_constructible)
- (is_nothrow_constructible): Simplify base-specifier.
- (__is_copy_constructible_impl, __is_move_constructible_impl)
- (__is_nothrow_copy_constructible_impl)
- (__is_nothrow_move_constructible_impl): Remove class templates.
- (is_copy_constructible, is_move_constructible)
- (is_nothrow_constructible, is_nothrow_default_constructible)
- (is_nothrow_copy_constructible, is_nothrow_move_constructible):
- Adjust base-specifiers to use __is_constructible_impl.
- (__is_copy_assignable_impl, __is_move_assignable_impl)
- (__is_nt_copy_assignable_impl, __is_nt_move_assignable_impl):
- Remove class templates.
- (__is_assignable_impl): New alias template.
- (is_assignable, is_copy_assignable, is_move_assignable):
- Adjust base-specifiers to use new alias template.
- (is_nothrow_copy_assignable, is_nothrow_move_assignable):
- Adjust base-specifiers to use existing alias template.
- (__is_trivially_constructible_impl): New alias template.
- (is_trivially_constructible, is_trivially_default_constructible)
- (is_trivially_copy_constructible)
- (is_trivially_move_constructible): Adjust base-specifiers to use
- new alias template.
- (__is_trivially_assignable_impl): New alias template.
- (is_trivially_assignable, is_trivially_copy_assignable)
- (is_trivially_move_assignable): Adjust base-specifier to use
- new alias template.
- (__add_lval_ref_t, __add_rval_ref_t): New alias templates.
- (add_lvalue_reference, add_rvalue_reference): Use new alias
- templates.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__decay_selector): Add partial
- specializations for array types. Only check for function types
- when not dealing with an array.
- (decay): Add partial specializations for reference types.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_lvalue_reference_v)
- (is_rvalue_reference_v, is_reference_v, is_const_v)
- (is_volatile_v): Define using partial specializations instead
- of instantiating class templates.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_enum_v, is_class_v, is_union_v)
- (is_empty_v, is_polymoprhic_v, is_abstract_v, is_final_v)
- (is_base_of_v, is_aggregate_v): Use built-in directly instead of
- instantiating class template.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (is_scoped_enum): Remove workaround.
-
-2022-09-01 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (__detail::__unarize): Define.
- (adjacent_view::_Iterator): Befriend adjacent_transform_view.
- (adjacent_transform_view): Define.
- (adjacent_transform_view::_Iterator): Define.
- (adjacent_transform_view::_Sentinel): Define.
- (views::__detail::__can_adjacent_transform_view): Define.
- (views::_AdjacentTransform): Define.
- (views::adjacent_transform): Define.
- (views::pairwise_transform): Define.
- * testsuite/std/ranges/adaptors/adjacent_transform/1.cc: New test.
-
-2022-09-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__is_array_known_bounds): Add partial
- specialization instead of using std::extent.
- (__is_array_unknown_bounds): Likewise.
- (extent): Add partial specializations to stop recursion after
- the result is found.
- (is_array_v): Add partial specializations instead of
- instantiating the class template.
- (rank_v, extent_v): Likewise.
- (is_bounded_array_v, is_unbounded_array_v): Likewise.
- (is_bounded_array, is_unbounded_array): Define in terms of the
- variable templates.
-
-2022-08-31 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_base.h (__advance_fn::operator()): Add
- parentheses in assert condition to avoid -Wparentheses warning.
- * include/std/ranges: (take_view::take_view): Uglify 'base'.
- (take_while_view::take_while_view): Likewise.
- (elements_view::elements_view): Likewise.
- (views::_Zip::operator()): Adjust position of [[nodiscard]] for
- compatibility with -fconcepts-ts.
- (zip_transform_view::_Sentinel): Uglify 'OtherConst'.
- (views::_ZipTransform::operator()): Adjust position of
- [[nodiscard]] for compatibilty with -fconcepts-ts.
-
-2022-08-31 Martin Liska <mliska@suse.cz>
-
- * configure: Regenerate.
- * crossconfig.m4: Remove deprecated ports.
-
-2022-08-31 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/debug.h: Use nullptr rather than '0' in checks in post-C++11.
- * include/debug/string: Likewise.
- * testsuite/21_strings/basic_string/operations/ends_with/char.cc: Use __gnu_test::string.
- * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/starts_with/char.cc: Likewise..
-
-2022-08-31 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (adjacent_view): Define.
- (enable_borrowed_range<adjacent_view>): Define.
- (__detail::__repeated_tuple): Define.
- (adjacent_view::_Iterator): Define.
- (adjacent_view::_Sentinel): Define.
- (views::__detail::__can_adjacent_view): Define.
- (views::_Adjacent): Define.
- (views::adjacent): Define.
- (views::pairwise): Define.
- * testsuite/std/ranges/adaptors/adjacent/1.cc: New test.
-
-2022-08-31 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_state): Declare.
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_create_state): Declare.
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_callback): Define.
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_error_callback): Define.
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full_func): Define.
- [_GLIBCXX_HAVE_STACKTRACE](__glibcxx_backtrace_full): Declare.
- [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_state): New.
- [_GLIBCXX_HAVE_STACKTRACE](_Error_formatter::_M_backtrace_full): New.
- * src/c++11/debug.cc [_GLIBCXX_HAVE_STACKTRACE](print_backtrace): New.
- (_Error_formatter::_M_error()): Adapt.
- * src/libbacktrace/Makefile.am: Add backtrace.c.
- * src/libbacktrace/Makefile.in: Regenerate.
- * src/libbacktrace/backtrace-rename.h (backtrace_full): New.
- * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: New test.
- * doc/xml/manual/debug_mode.xml: Document _GLIBCXX_DEBUG_BACKTRACE.
- * doc/xml/manual/using.xml: Likewise.
-
-2022-08-31 Patrick Palka <ppalka@redhat.com>
-
- * testsuite/20_util/logical_traits/requirements/short_circuit.cc: New test.
-
-2022-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/refwrap.h (reference_wrapper::operator()): Add
- noexcept-specifier and use __invoke_result instead of result_of.
- * testsuite/20_util/reference_wrapper/invoke-noexcept.cc: New test.
-
-2022-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/reference_wrapper/invoke-2.cc: Improve
- comments.
- * testsuite/20_util/reference_wrapper/invoke-3.cc: Likewise.
- * testsuite/20_util/reference_wrapper/invoke.cc: Likewise.
-
-2022-08-31 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (basic_string): Add nodiscard
- attribute to all relevant functions.
- * include/std/string_view (basic_string_view): Likewise.
- * testsuite/21_strings/basic_string/capacity/1.cc: Cast unused
- results to void.
- * testsuite/21_strings/basic_string/capacity/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/capacity/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/self_move.cc:
- Likewise.
- * testsuite/21_strings/basic_string/element_access/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/element_access/char/21674.cc:
- Likewise.
- * testsuite/21_strings/basic_string/element_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string/element_access/wchar_t/21674.cc:
- Likewise.
- * testsuite/21_strings/basic_string/lwg2758.cc: Likewise.
- * testsuite/21_strings/basic_string/lwg2946.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/contains/nonnull.cc:
- Add -Wno-unused-result to options.
- * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string/operators/char/1.cc: Cast
- unused results to void.
- * testsuite/21_strings/basic_string/operators/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/capacity/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/char/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/element_access/wchar_t/2.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc:
- Likewise.
- Add -Wno-unused-result to options.
- * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc:
- Likewise.
- * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/sputbackc/char/1.cc: Cast
- unused results to void.
- * testsuite/27_io/basic_stringbuf/sputbackc/wchar_t/1.cc:
- Likewise.
- * testsuite/27_io/basic_stringbuf/sungetc/char/1.cc: Likewise.
- * testsuite/27_io/basic_stringbuf/sungetc/wchar_t/1.cc:
- Likewise.
+ * include/parallel/algobase.h: Include <parallel/search.h>.
-2022-08-27 Patrick Palka <ppalka@redhat.com>
-
- * testsuite/20_util/logical_traits/requirements/base_classes.cc: New test.
-
-2022-08-26 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (zip_view::_Iterator::operator<): Remove
- as per LWG 3692.
- (zip_view::_Iterator::operator>): Likewise.
- (zip_view::_Iterator::operator<=): Likewise.
- (zip_view::_Iterator::operator>=): Likewise.
- (zip_view::_Iterator::operator<=>): Remove three_way_comparable
- constraint as per LWG 3692.
- (zip_transform_view::_Iterator): Ditto as per LWG 3702.
-
-2022-08-26 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (zip_view::_Iterator): Befriend
- zip_transform_view.
- (__detail::__range_iter_cat): Define.
- (zip_transform_view): Define.
- (zip_transform_view::_Iterator): Define.
- (zip_transform_view::_Sentinel): Define.
- (views::__detail::__can_zip_transform_view): Define.
- (views::_ZipTransform): Define.
- (views::zip_transform): Define.
- * testsuite/std/ranges/zip_transform/1.cc: New test.
-
-2022-08-26 Patrick Palka <ppalka@redhat.com>
-
- * include/std/type_traits (enable_if, __enable_if_t): Define them
- earlier.
- (__detail::__first_t): Define.
- (__detail::__or_fn, __detail::__and_fn): Declare.
- (__or_, __and_): Redefine as alias templates in terms of __or_fn
- and __and_fn.
- (__not_): Redefine as an alias template.
- (__detail::__disjunction_impl, __detail::__conjunction_impl):
- Define.
- (conjuction, disjunction): Redefine in terms of __disjunction_impl
- and __conjunction_impl.
-
-2022-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/system_error (error_code::_Check): New alias
- template for constructor SFINAE constraint.
- (error_code::error_code(ErrorCodeEnum)): Use it.
- (error_code::operator=(ErrorCodeEnum)): Remove.
- (error_condition::_Check): New alias template for constraint.
- (error_condition::error_condition(ErrorConditionEnum)): Use it.
- (error_condition::operator=(ErrorConditionEnum)): Remove.
- * testsuite/19_diagnostics/error_code/cons/1.cc: Check
- constructor taking user-defined error enum.
- * testsuite/19_diagnostics/error_condition/cons/1.cc: Likewise.
-
-2022-08-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/basic_string.h (starts_with, ends_with, contains):
- Add nonnull attribute.
- * include/bits/cow_string.h (starts_with, ends_with, contains):
- Likewise.
- * include/std/string_view (starts_with, ends_with, contains):
- Likewise.
- * testsuite/21_strings/basic_string/operations/contains/nonnull.cc
- * testsuite/21_strings/basic_string/operations/ends_with/nonnull.cc
- * testsuite/21_strings/basic_string/operations/starts_with/nonnull.cc
- * testsuite/21_strings/basic_string_view/operations/contains/nonnull.cc
- * testsuite/21_strings/basic_string_view/operations/ends_with/nonnull.cc
- * testsuite/21_strings/basic_string_view/operations/starts_with/nonnull.cc
-
-2022-08-25 Patrick Palka <ppalka@redhat.com>
-
- * include/std/ranges (lazy_split_view::_OuterIter::_M_current):
- Remove redundant comment.
- (lazy_split_view::_M_current): Likewise.
- (common_view::common_view): Remove commented out view-converting
- constructor as per LWG3405.
- (elements_view::_Iterator::_Iterator): Uglify 'current' and 'i'.
-
-2022-08-24 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_algo.h (__min_fn, min): Move to ...
- * include/bits/ranges_util.h: ... here, in order to avoid
- including all of ranges_algo.h from <ranges>.
- * include/std/ranges (__detail::__zip_is_common): Define for
- C++23 as per P2321R2.
- (__detail::__tuple_or_pair): Likewise.
- (__detail::__tuple_or_pair_t): Likewise.
- (__detail::__tuple_transform): Likewise.
- (__detail::__tuple_for_each): Likewise.
- (zip_view): Likewise.
- (enable_borrowed_range<zip_view>): Likewise.
- (__detail::__all_random_access): Likewise.
- (__detail::__all_bidirectional): Likewise.
- (__detail::__all_forward): Likewise.
- (__detail::__zip_view_iter_cat): Likewise.
- (zip_view::_Iterator): Likewise.
- (zip_view::_Sentinel): Likewise.
- * testsuite/std/ranges/zip/1.cc: New test.
-
-2022-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- Revert:
- 2022-08-24 Will Hawkins <whh8b@obs.cr>
-
- * include/bits/basic_string.h (operator+(const string&, const char*)):
- Remove naive implementation.
- * include/bits/basic_string.tcc (operator+(const string&, const char*)):
- Add single-allocation implementation.
-
-2022-08-24 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_pair.h (pair::swap const): Add non-standard
- is_swappable_v constraints.
- * include/std/tuple (tuple::swap const): Likewise.
- * testsuite/20_util/tuple/cons/noexcept_specs.cc: Correct some
- asserts in C++23 mode.
+2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-2022-08-24 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
+ Add const to equality operator.
- * include/bits/stl_algo.h (__stable_sort): Cast size to
- iterator's difference type.
- * testsuite/25_algorithms/stable_sort/4.cc: New test.
+2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-2022-08-24 Will Hawkins <whh8b@obs.cr>
+ * include/std/expected (expected::and_then, expected::or_else)
+ (expected::transform_error): Use _M_val and _M_unex instead of
+ calling value() and error(), as per LWG 3938.
+ (expected::transform): Likewise. Remove incorrect std::move
+ calls from lvalue overloads.
+ (expected<void, E>::and_then, expected<void, E>::or_else)
+ (expected<void, E>::transform): Use _M_unex instead of calling
+ error().
+ * testsuite/20_util/expected/lwg3877.cc: Add checks for and_then
+ and transform, and for std::expected<void, E>.
+ * testsuite/20_util/expected/lwg3938.cc: New test.
- * include/bits/basic_string.h (operator+(const string&, const char*)):
- Remove naive implementation.
- * include/bits/basic_string.tcc (operator+(const string&, const char*)):
- Add single-allocation implementation.
+2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-2022-08-24 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/duration_cast/rounding.cc: Check abs with
- non-reduced duration.
-
-2022-08-23 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_bvector.h (_Bit_reference::operator=): Define
- const overload for C++23 as per P2321R2.
- * include/bits/stl_pair.h (pair::swap): Likewise.
- (pair::pair): Define additional converting constructors for
- C++23 as per P2321R2.
- (pair::operator=): Define const overloads for C++23 as per
- P2321R2.
- (swap): Define overload taking const pair& for C++23 as per
- P2321R2.
- (basic_common_reference): Define partial specialization for
- pair for C++23 as per P2321R2.
- (common_type): Likewise.
- * include/bits/uses_allocator_args.h
- (uses_allocator_construction_args): Define additional pair
- overloads for C++23 as per P2321R2.
- * include/std/tuple (_Tuple_impl::_Tuple_impl): Define
- additional converting constructors for C++23 as per P2321R2.
- (_Tuple_impl::_M_assign): Define const overloads for C++23
- as per P2321R2.
- (_Tuple_impl::_M_swap): Likewise.
- (tuple::__constructible): Define as a convenient renaming of
- _TCC<true>::__constructible.
- (tuple::__convertible): As above but for _TCC<true>::__convertible.
- (tuple::tuple): Define additional converting constructors for
- C++23 as per P2321R2.
- (tuple::operator=): Define const overloads for C++23 as per
- P2321R2.
- (tuple::swap): Likewise.
- (basic_common_reference): Define partial specialization for
- tuple for C++23 as per P2321R2.
- (common_type): Likewise.
- * testsuite/20_util/pair/p2321r2.cc: New test.
- * testsuite/20_util/tuple/p2321r2.cc: New test.
- * testsuite/23_containers/vector/bool/element_access/1.cc: New test.
-
-2022-08-23 Patrick Palka <ppalka@redhat.com>
-
- * include/std/tuple (_TupleConstraints::__convertible): Define.
- (_TupleConstraints::__constructible): Define.
- (_TupleConstraints::__is_explicitly_constructible): Redefine this
- in terms of __convertible and __constructible.
- (_TupleConstraints::__is_implicitly_constructible): Likewise.
-
-2022-08-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106589
- * include/std/variant (__do_visit): Handle is_void<R> for zero
- argument case.
- * testsuite/20_util/variant/visit_r.cc: Check std::visit<void>(v).
-
-2022-08-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105678
- * doc/xml/manual/using.xml: Document -lstdc++_libbacktrace
- requirement for using std::stacktrace. Also adjust -frtti and
- -fexceptions to document non-default (i.e. negative) forms.
+ PR libstdc++/110060
+ * include/bits/stl_vector.h (_Vector_base::_M_invariant):
+ Remove.
+ (vector::size, vector::capacity): Remove calls to _M_invariant.
+ * include/bits/vector.tcc (vector::_M_fill_assign): Add
+ optimization hint to reallocating path.
+ (vector::_M_assign_aux(FwdIter, FwdIter, forward_iterator_tag)):
+ Likewise.
+ * testsuite/23_containers/vector/capacity/invariant.cc: Moved
+ to...
+ * testsuite/23_containers/vector/modifiers/assign/no_realloc.cc:
+ ...here. Check assign(FwdIter, FwdIter) too.
+ * testsuite/23_containers/vector/types/1.cc: Revert addition
+ of -Wno-stringop-overread option.
+
+2023-06-01 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Document removal of implicit
+ allocator rebinding extensions in strict mode and for C++20.
* doc/html/*: Regenerate.
-2022-08-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106695
- * include/bits/std_thread.h (thread::_State_impl): Forward
- individual arguments to _Invoker constructor.
- (thread::_Invoker): Add constructor. Delete copies.
- * include/std/future (__future_base::_Deferred_state): Forward
- individual arguments to _Invoker constructor.
- (__future_base::_Async_state_impl): Likewise.
- * testsuite/30_threads/async/106695.cc: New test.
- * testsuite/30_threads/thread/106695.cc: New test.
-
-2022-08-22 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106607
- * include/bits/regex_compiler.tcc (_Compiler::_M_cur_int_value):
- Use built-ins to check for integer overflow in back-reference
- number.
- * testsuite/28_regex/basic_regex/106607.cc: New test.
-
-2022-08-17 Keef Aragon <keef.aragon@konscious.net>
-
- * libsupc++/eh_alloc.cc (pool::free): Inverse comparison.
-
-2022-08-08 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/formatter.h (__singular_value_init): New _Iterator_state enum entry.
- (_Parameter<>(const _Safe_iterator<>&, const char*, _Is_iterator)): Check if iterator
- parameter is value-initialized.
- (_Parameter<>(const _Safe_local_iterator<>&, const char*, _Is_iterator)): Likewise.
- * include/debug/safe_iterator.h (_Safe_iterator<>::_M_value_initialized()): New. Adapt
- checks.
- * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_M_value_initialized()): New.
- Adapt checks.
- * src/c++11/debug.cc (_Safe_iterator_base::_M_reset): Do not reset _M_version.
- (print_field(PrintContext&, const _Parameter&, const char*)): Adapt state_names.
- * testsuite/23_containers/deque/debug/iterator1_neg.cc: New test.
- * testsuite/23_containers/deque/debug/iterator2_neg.cc: New test.
- * testsuite/23_containers/forward_list/debug/iterator1_neg.cc: New test.
- * testsuite/23_containers/forward_list/debug/iterator2_neg.cc: New test.
- * testsuite/23_containers/forward_list/debug/iterator3_neg.cc: New test.
-
-2022-08-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/scope (__cpp_lib_experimental_scope):
- Define.
- * testsuite/experimental/scopeguard/uniqueres.cc: Check macro.
-
-2022-08-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/experimental/scope: New file.
- * testsuite/experimental/scopeguard/uniqueres.cc: New test.
- * testsuite/experimental/scopeguard/exit.cc: New test.
+2023-06-01 Jason Merrill <jason@redhat.com>
-2022-08-04 Jonathan Wakely <jwakely@redhat.com>
+ * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
+ handlers in the cleanup phase.
- * include/std/string_view (basic_string_view(Range&&)): Add
- explicit as per P2499R0.
- * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc:
- Adjust implicit conversions. Check implicit conversions fail.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc:
- Likewise.
+2023-06-01 Matthias Kretz <m.kretz@gsi.de>
-2022-08-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_dir.h (directory_iterator): Add comparison
- with std::default_sentinel_t. Remove redundant operator!= for
- C++20.
- * (recursive_directory_iterator): Likewise.
- * include/bits/iterator_concepts.h [!__cpp_lib_concepts]
- (default_sentinel_t, default_sentinel): Define even if concepts
- are not supported.
- * include/bits/regex.h (regex_iterator): Add comparison with
- std::default_sentinel_t. Remove redundant operator!= for C++20.
- (regex_token_iterator): Likewise.
- (regex_token_iterator::_M_end_of_seq()): Add noexcept.
- * testsuite/27_io/filesystem/iterators/lwg3719.cc: New test.
- * testsuite/28_regex/iterators/regex_iterator/lwg3719.cc:
- New test.
- * testsuite/28_regex/iterators/regex_token_iterator/lwg3719.cc:
- New test.
+ PR libstdc++/110050
+ * include/experimental/bits/simd.h (__vectorized_sizeof): With
+ __have_neon_a32 only single-precision float works (in addition
+ to integers).
-2022-08-04 Jonathan Wakely <jwakely@redhat.com>
+2023-06-01 François Dumont <fdumont@gcc.gnu.org>
- * include/std/expected (unexpected::_M_val): Rename to _M_unex.
- (bad_expected_access::_M_val): Likewise.
+ * include/bits/stl_algo.h
+ (std::__search, std::search(_FwdIt1, _FwdIt1, _FwdIt2, _FwdIt2, _BinPred)): Move...
+ * include/bits/stl_algobase.h: ...here.
+ * include/std/functional: Replace <stl_algo.h> include by <stl_algobase.h>.
+ * include/parallel/algo.h (std::__parallel::search<_FIt1, _FIt2, _BinaryPred>)
+ (std::__parallel::__search_switch<_FIt1, _FIt2, _BinaryPred, _ItTag1, _ItTag2>):
+ Move...
+ * include/parallel/algobase.h: ...here.
+ * include/experimental/functional: Remove <bits/stl_algo.h> and <parallel/algorithm>
+ includes. Include <bits/stl_algobase.h>.
+
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/109818
+ * acinclude.m4 (GLIBCXX_ENABLE_C99): Add separate check for
+ float_t and double_t and define HAVE_C99_FLT_EVAL_TYPES.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/c_global/cmath (float_t, double_t): Guard using new
+ _GLIBCXX_HAVE_C99_FLT_EVAL_TYPES macro.
-2022-08-04 Jonathan Wakely <jwakely@redhat.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/ios_base.h (__cpp_lib_ios_noreplace): Update
- value to 202207L.
- * include/std/version (__cpp_lib_ios_noreplace): Likewise.
- * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: Check
- for new value.
- * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
+ * acinclude.m4 (GLIBCXX_ENABLE_C99): Add checks for C99 math
+ functions and define _GLIBCXX_USE_C99_MATH_FUNCS. Move checks
+ for C99 rounding functions to here.
+ (GLIBCXX_CHECK_C99_TR1): Remove checks for C99 rounding
+ functions from here.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/bits/random.h: Use _GLIBCXX_USE_C99_MATH_FUNCS instead
+ of _GLIBCXX_USE_C99_MATH_TR1.
+ * include/bits/random.tcc: Likewise.
+ * include/c_compatibility/math.h: Likewise.
+ * include/c_global/cmath: Likewise.
+ * include/ext/random: Likewise.
+ * include/ext/random.tcc: Likewise.
+ * include/std/complex: Likewise.
+ * testsuite/20_util/from_chars/4.cc: Likewise.
+ * testsuite/20_util/from_chars/8.cc: Likewise.
+ * testsuite/26_numerics/complex/proj.cc: Likewise.
+ * testsuite/26_numerics/headers/cmath/60401.cc: Likewise.
+ * testsuite/26_numerics/headers/cmath/types_std_c++0x.cc:
Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
+ Likewise.
+ * testsuite/util/testsuite_random.h: Likewise.
-2022-08-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106183
- * include/bits/atomic_wait.h (__waiter_pool_base::_M_notify):
- Move increment of _M_ver here.
- [!_GLIBCXX_HAVE_PLATFORM_WAIT]: Lock mutex around increment.
- Use relaxed memory order and always notify all waiters.
- (__waiter_base::_M_do_wait) [!_GLIBCXX_HAVE_PLATFORM_WAIT]:
- Check value again after locking mutex.
- (__waiter_base::_M_notify): Remove increment of _M_ver.
-
-2022-08-04 Ulrich Drepper <drepper@gmail.com>
-
- * python/libstdcxx/v6/printers.py (class StdTuplePrinter): Use
- zero-based indeces just like std:get takes.
-
-2022-07-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104443
- * include/bits/stl_iterator.h (common_iterator::operator->):
- Change return type to just auto.
-
-2022-07-26 Thomas Rodgers <trodgers@redhat.com>
-
- * include/bits/atomic_wait.h (__atomic_spin): Merge spin loops.
-
-2022-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100823
- * include/bits/stl_iterator.h (common_iterator): Define
- destructor, copy constructor and move constructor as trivial
- when the underlying types allow.
- * testsuite/24_iterators/common_iterator/100823.cc: Check
- triviality of special members.
-
-2022-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100823
- * include/bits/stl_iterator.h (common_iterator): Define move
- constructor and move assignment operator.
- (common_iterator::_M_assign): New function implementing
- assignment.
- (common_iterator::operator=): Use _M_assign.
- (common_iterator::_S_valueless): New constant.
- * testsuite/24_iterators/common_iterator/100823.cc: New test.
-
-2022-07-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (common_iterator): Fix incorrect
- uses of is_nothrow_assignable_v. Fix inconsistent constraints on
- friend declaration. Do not move argument in copy constructor.
- * testsuite/24_iterators/common_iterator/1.cc: Check for
- noexcept constructibnle/assignable.
-
-2022-07-19 François Dumont <fdumont@gcc.gnu.org>
-
- * include/debug/debug.h [_GLIBCXX_DEBUG](__glibcxx_requires_string): Define
- using _GLIBCXX_DEBUG_PEDASSERT.
- [_GLIBCXX_DEBUG](__glibcxx_requires_string_len): Likewise.
- * include/debug/macros.h
- (__glibcxx_check_string, __glibcxx_check_string_len): Move...
- * include/debug/string
- (__glibcxx_check_string, __glibcxx_check_string_len): ...here. And define depending
- on _GLIBCXX_DEBUG_PEDANTIC no matter if _GLIBCXX_DEBUG is defined.
- Add using of std::string find, rfind, find_first_of, find_last_of, find_first_not_of
- and find_last_not_of. Remove debug implementations having no debug assertion.
- * testsuite/util/testsuite_string.h: New file. Provides __gnu_test::string and
- __gnu_test::wtring which definition depends on _GLIBCXX_DEBUG.
- * testsuite/21_strings/basic_string/debug/find1_neg.cc: New test case.
- * testsuite/21_strings/basic_string/debug/find2_neg.cc: New test case.
- * testsuite/21_strings/basic_string/operations/find/char/1.cc:
- Include <testsuite_string.h> and use __gnu_test::string.
- * testsuite/21_strings/basic_string/operations/find/char/2.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/char/3.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/char/4.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/char/5.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/char/6.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/1.cc:
- Include <testsuite_string.h> and use __gnu_test::wstring.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/2.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/3.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/4.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/5.cc: Likewise.
- * testsuite/21_strings/basic_string/operations/find/wchar_t/6.cc: Likewise.
-
-2022-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/type_traits (__cpp_lib_reference_from_temporary)
- (reference_constructs_from_temporary)
- (reference_converts_from_temporary): Only define when the
- built-ins are available.
-
-2022-07-19 Marco Falke <falke.marco@gmail.com>
-
- * include/std/charconv (__from_chars_alnum_to_val): Replace
- implicit conversion from int to unsigned char with explicit
- cast.
-
-2022-07-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * configure: Regnerate.
- * configure.ac (newlib, *-rtems*): Remove HAVE_POLL.
-
-2022-07-18 François Dumont <fdumont@gcc.gnu.org>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/stl_algo.h
- (__merge_adaptive): Adapt to merge only when buffer is large enough..
- (__merge_adaptive_resize): New, adapt merge when buffer is too small.
- (__inplace_merge): Adapt, use latter.
- (__stable_sort_adaptive): Adapt to sort only when buffer is large enough.
- (__stable_sort_adaptive_resize): New, adapt sort when buffer is too small.
- (__stable_sort): Adapt, use latter.
-
-2022-07-15 Marek Polacek <polacek@redhat.com>
-
- PR c++/104477
- * include/std/type_traits (reference_constructs_from_temporary,
- reference_converts_from_temporary): New class templates.
- (reference_constructs_from_temporary_v,
- reference_converts_from_temporary_v): New variable templates.
- (__cpp_lib_reference_from_temporary): Define for C++23.
- * include/std/version (__cpp_lib_reference_from_temporary): Define for
- C++23.
- * testsuite/20_util/variable_templates_for_traits.cc: Test
- reference_constructs_from_temporary_v and
- reference_converts_from_temporary_v.
- * testsuite/20_util/reference_from_temporary/value.cc: New test.
- * testsuite/20_util/reference_from_temporary/value2.cc: New test.
- * testsuite/20_util/reference_from_temporary/version.cc: New test.
-
-2022-07-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/106248
- * include/std/istream [C++17] (operator>>(istream&, char*)):
- Set eofbit if we stopped extracting at EOF.
- * testsuite/27_io/basic_istream/extractors_character/char/pr106248.cc:
- New test.
- * testsuite/27_io/basic_istream/extractors_character/wchar_t/pr106248.cc:
- New test.
+ * include/bits/stl_vector.h (_Vector_base::_M_invariant()): New
+ function.
+ (vector::size(), vector::capacity()): Call _M_invariant().
+ * testsuite/23_containers/vector/capacity/invariant.cc: New test.
+ * testsuite/23_containers/vector/types/1.cc: Add suppression for
+ false positive warning (PR110060).
-2022-07-12 Jonathan Wakely <jwakely@redhat.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/stl_iterator.h (__iter_to_alloc_t): Replace
- add_const_t with const-qualifier.
- * include/bits/utility.h (tuple_element<N, cv T>): Likewise for
- all cv-qualifiers.
- * include/std/type_traits (add_const, add_volatile): Replace
- typedef-declaration with using-declaration.
- (add_cv): Replace add_const and add_volatile with cv-qualifiers.
- * include/std/variant (variant_alternative<N, cv T>): Replace
- add_const_t, add_volatile_t and add_cv_t etc. with cv-qualifiers.
+ PR libstdc++/109921
+ * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
+ defined before trying to use _Float128.
-2022-07-09 François Dumont <fdumont@gcc.gnu.org>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * include/std/string: Remove obsolete comment about char_traits.h including
- stl_algobase.h.
+ * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
+ to check __INT_PTR_WIDTH__ instead of sizeof(void*).
+ * configure: Regenerate.
-2022-07-07 Jonathan Wakely <jwakely@redhat.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- PR c++/89074
- * include/bits/char_traits.h (__gnu_cxx::char_traits::move):
- Remove workaround for front-end bug.
+ * include/bits/unique_lock.h: Include <bits/error_constants.h>
+ here for std::errc constants.
+ * include/std/mutex: Do not include <bits/error_constants.h> and
+ <exception> here.
-2022-07-05 Alexandre Oliva <oliva@adacore.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/util/testsuite_fs.h (nonexistent_path): Explain
- why we need the typecast.
+ * configure.ac: Replace use of -o operator for test.
+ * configure: Regenerate.
-2022-07-05 Alexandre Oliva <oliva@adacore.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/util/testsuite_fs.h (nonexistent_path): Convert
- the getpid result to an integral type.
+ * include/std/scoped_allocator (scoped_allocator_adaptor): Add
+ noexcept to all constructors except the default constructor.
+ (scoped_allocator_adaptor::inner_allocator): Add noexcept.
+ (scoped_allocator_adaptor::outer_allocator): Likewise.
+ * testsuite/20_util/scoped_allocator/noexcept.cc: New test.
-2022-07-01 Jonathan Wakely <jwakely@redhat.com>
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/106162
- * include/Makefile.am (largefile-config.h): Add
- stamp-${host_alias} prerequisite.
- * include/Makefile.in: Regenerate.
+ PR libstdc++/104772
+ * include/std/limits (numeric_limits<__float128>): Define.
+ * testsuite/18_support/numeric_limits/128bit.cc: New test.
-2022-07-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/fs_ops.h: Add nodiscard to all pure functions.
- * include/experimental/bits/fs_ops.h: Likewise.
- * testsuite/27_io/filesystem/operations/all.cc: Do not discard
- results of absolute and canonical.
- * testsuite/27_io/filesystem/operations/absolute.cc: Cast
- discarded result to void.
- * testsuite/27_io/filesystem/operations/canonical.cc: Likewise.
- * testsuite/27_io/filesystem/operations/exists.cc: Likewise.
- * testsuite/27_io/filesystem/operations/is_empty.cc: Likewise.
- * testsuite/27_io/filesystem/operations/read_symlink.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/status.cc: Likewise.
- * testsuite/27_io/filesystem/operations/symlink_status.cc:
- Likewise.
- * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/canonical.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/exists.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/is_empty.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/read_symlink.cc:
- Likewise.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- Likewise.
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-2022-07-01 Sebastian Huber <sebastian.huber@embedded-brains.de>
+ * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
+ msp430 to all 16-bit targets.
+ * configure: Regenerate.
- * configure: Regnerate.
- * configure.ac (newlib, *-rtems*): Enable TLS support for all RTEMS
- targets except bfin, lm32, mips, moxie, or1k, and v850.
- For all RTEMS targets, define HAVE_ALIGNED_ALLOC, HAVE_AT_QUICK_EXIT,
- HAVE_LINK, HAVE_POLL, HAVE_QUICK_EXIT, HAVE_READLINK, HAVE_SETENV,
- HAVE_SLEEP, HAVE_SOCKATMARK, HAVE_STRERROR_L, HAVE_SYMLINK,
- HAVE_TRUNCATE, and HAVE_USLEEP.
- * crossconfig.m4 (*-rtems*): Remove.
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-2022-06-30 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/109921
+ * src/c++17/floating_from_chars.cc (USE_STRTOF128_FOR_FROM_CHARS):
+ Only define when USE_STRTOD_FOR_FROM_CHARS is also defined.
+ (USE_STRTOD_FOR_FROM_CHARS): Do not undefine when long double is
+ binary64.
+ (from_chars(const char*, const char*, double&, chars_format)):
+ Check __LDBL_MANT_DIG__ == __DBL_MANT_DIG__ here.
+ (from_chars(const char*, const char*, _Float128&, chars_format))
+ Only use from_chars_strtod when USE_STRTOD_FOR_FROM_CHARS is
+ defined, otherwise parse a long double and convert to _Float128.
+
+2023-05-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/109922
+ * include/std/iomanip (operator>>(basic_istream&, _Setfill)):
+ Add deprecated attribute to non-standard overload.
+ * doc/xml/manual/evolution.xml: Document deprecation.
+ * doc/html/*: Regenerate.
+ * testsuite/27_io/manipulators/standard/char/1.cc: Add
+ dg-warning for expected deprecated warning.
+ * testsuite/27_io/manipulators/standard/char/2.cc: Likewise.
+ * testsuite/27_io/manipulators/standard/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/manipulators/standard/wchar_t/2.cc: Likewise.
+
+2023-05-30 Alexandre Oliva <oliva@adacore.com>
+
+ * testsuite/20_util/from_chars/4.cc: Skip long double test06
+ on x86_64-vxworks.
+ * testsuite/20_util/to_chars/long_double.cc: Xfail run on
+ x86_64-vxworks.
+
+2023-05-30 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/109822
+ * include/experimental/bits/simd.h (to_native): Use int NTTP
+ as specified in PTS2.
+ (to_compatible): Likewise. Add missing tag to call mask
+ generator ctor.
+ * testsuite/experimental/simd/pr109822_cast_functions.cc: New
+ test.
- * include/bits/utility.h: Fix comment typos.
+2023-05-30 Matthias Kretz <m.kretz@gsi.de>
+
+ * testsuite/experimental/simd/tests/integer_operators.cc:
+ Compute expected value differently to avoid getting turned into
+ a vector shift.
+
+2023-05-30 Matthias Kretz <m.kretz@gsi.de>
+
+ * testsuite/experimental/simd/tests/operator_cvt.cc: Make long
+ double <-> (u)long conversion tests conditional on sizeof(long
+ double) and sizeof(long).
+
+2023-05-26 Matthias Kretz <m.kretz@gsi.de>
+
+ * include/experimental/bits/simd_ppc.h (_S_bit_shift_left):
+ Negative __y is UB, so prefer signed compare.
+
+2023-05-25 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/util/testsuite_allocator.h (PointerBase): Add
+ relational operators.
+
+2023-05-25 Alexandre Oliva <oliva@adacore.com>
+
+ * testsuite/20_util/to_chars/long_double.cc: Expect execution
+ fail on x86-vxworks.
+
+2023-05-24 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/109949
+ * include/experimental/bits/simd.h (__intrinsic_type): If
+ __ALTIVEC__ is defined, map gnu::vector_size types to their
+ corresponding __vector T types without losing unsignedness of
+ integer types. Also prefer long long over long.
+ * include/experimental/bits/simd_ppc.h (_S_popcount): Cast mask
+ object to the expected unsigned vector type.
+
+2023-05-24 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/109261
+ * include/experimental/bits/simd.h (__intrinsic_type):
+ Specialize __intrinsic_type<double, 8> and
+ __intrinsic_type<double, 16> in any case, but provide the member
+ type only with __aarch64__.
+
+2023-05-24 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/109261
+ * include/experimental/bits/simd_neon.h (_S_reduce): Add
+ constexpr and make NEON implementation conditional on
+ not __builtin_is_constant_evaluated.
+
+2023-05-23 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/109261
+ * include/experimental/bits/simd.h (_SimdWrapper::_M_set):
+ Avoid vector builtin subscripting in constant expressions.
+ (resizing_simd_cast): Avoid memcpy if constant_evaluated.
+ (const_where_expression, where_expression, where)
+ (__extract_part, simd_mask, _SimdIntOperators, simd): Add either
+ _GLIBCXX_SIMD_CONSTEXPR (on public APIs), or constexpr (on
+ internal APIs).
+ * include/experimental/bits/simd_builtin.h (__vector_permute)
+ (__vector_shuffle, __extract_part, _GnuTraits::_SimdCastType1)
+ (_GnuTraits::_SimdCastType2, _SimdImplBuiltin)
+ (_MaskImplBuiltin::_S_store): Add constexpr.
+ (_CommonImplBuiltin::_S_store_bool_array)
+ (_SimdImplBuiltin::_S_load, _SimdImplBuiltin::_S_store)
+ (_SimdImplBuiltin::_S_reduce, _MaskImplBuiltin::_S_load): Add
+ constant_evaluated case.
+ * include/experimental/bits/simd_fixed_size.h
+ (_S_masked_load): Reword comment.
+ (__tuple_element_meta, __make_meta, _SimdTuple::_M_apply_r)
+ (_SimdTuple::_M_subscript_read, _SimdTuple::_M_subscript_write)
+ (__make_simd_tuple, __optimize_simd_tuple, __extract_part)
+ (__autocvt_to_simd, _Fixed::__traits::_SimdBase)
+ (_Fixed::__traits::_SimdCastType, _SimdImplFixedSize): Add
+ constexpr.
+ (_SimdTuple::operator[], _M_set): Add constexpr and add
+ constant_evaluated case.
+ (_MaskImplFixedSize::_S_load): Add constant_evaluated case.
+ * include/experimental/bits/simd_scalar.h: Add constexpr.
+ * include/experimental/bits/simd_x86.h (_CommonImplX86): Add
+ constexpr and add constant_evaluated case.
+ (_SimdImplX86::_S_equal_to, _S_not_equal_to, _S_less)
+ (_S_less_equal): Value-initialize to satisfy constexpr
+ evaluation.
+ (_MaskImplX86::_S_load): Add constant_evaluated case.
+ (_MaskImplX86::_S_store): Add constexpr and constant_evaluated
+ case. Value-initialize local variables.
+ (_MaskImplX86::_S_logical_and, _S_logical_or, _S_bit_not)
+ (_S_bit_and, _S_bit_or, _S_bit_xor): Add constant_evaluated
+ case.
+ * testsuite/experimental/simd/pr109261_constexpr_simd.cc: New
+ test.
-2022-06-30 Jonathan Wakely <jwakely@redhat.com>
+2023-05-22 Matthias Kretz <m.kretz@gsi.de>
- * src/c++17/fs_ops.cc (fs::temp_directory_path()): Include path
- in exception.
- (fs::temp_directory_path(error_code&)): Rearrange to more
- closely match the structure of the first overload.
- * src/filesystem/ops.cc (fs::temp_directory_path): Likewise.
- * testsuite/27_io/filesystem/operations/temp_directory_path.cc:
- Check that exception contains the path.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
+ * include/experimental/bits/simd_builtin.h (_S_fpclassify): Move
+ __infn into #ifdef'ed block.
+ * testsuite/experimental/simd/tests/fpclassify.cc: Declare
+ constants only when used.
+ * testsuite/experimental/simd/tests/frexp.cc: Likewise.
+ * testsuite/experimental/simd/tests/logarithm.cc: Likewise.
+ * testsuite/experimental/simd/tests/trunc_ceil_floor.cc:
Likewise.
+ * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
+ Move totest and expect1 into #ifdef'ed block.
-2022-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/88881
- * src/filesystem/ops.cc (has_trailing_slash): New helper
- function.
- (fs::status): Strip trailing slashes.
- (fs::symlink_status): Likewise.
- * testsuite/experimental/filesystem/operations/temp_directory_path.cc:
- Clean the environment before each test and use TMP instead of
- TMPDIR so the test passes on Windows.
-
-2022-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/dir-common.h (_Dir_base::_At_path):
- Use char_type consistently for paths.
-
-2022-06-28 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/fs_dir.cc (_Dir::dir_and_pathname):: Replace with
- current() returning _At_path.
- (_Dir::_Dir, _Dir::open_subdir, _Dir::do_unlink): Adjust.
- * src/filesystem/dir-common.h (_Dir_base::_At_path): New class.
- (_Dir_base::_Dir_Base, _Dir_base::openat): Use _At_path.
- * src/filesystem/dir.cc (_Dir::dir_and_pathname): Replace with
- current() returning _At_path.
- (_Dir::_Dir, _Dir::open_subdir): Adjust.
+2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
-2022-06-28 Jonathan Wakely <jwakely@redhat.com>
+ * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
+ * doc/html/manual/strings.html: Regenerate.
- * src/c++17/fs_dir.cc (_Dir::_Dir) [!_GLIBCXX_HAVE_OPENAT]:
- Always store pathname if we don't have openat or unlinkat,
- because the full path is needed to open sub-directories and
- remove entries.
+2023-05-17 Jakub Jelinek <jakub@redhat.com>
-2022-06-28 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/109883
+ * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
- * testsuite/20_util/from_chars/4.cc: Only use log2 if C99 math
- functions are available.
+2023-05-17 Jakub Jelinek <jakub@redhat.com>
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/20_util/to_chars/long_double.cc: Use cmath
- long double overloads for nexttoward and ldexp.
-
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/experimental/simd/standard_abi_usable.cc: Require
- cmath support.
- * testsuite/experimental/simd/standard_abi_usable_2.cc:
+ PR libstdc++/109883
+ * include/c_global/cmath (atan2, fmod, pow): Move
+ __gnu_cxx::__promote_2 using templates after _Float{16,32,64,128} and
+ __gnu_cxx::__bfloat16_t overloads.
+ (copysign, fdim, fmax, fmin, hypot, nextafter, remainder, remquo):
Likewise.
+ (fma): Move __gnu_cxx::__promote_3 using template after
+ _Float{16,32,64,128} and __gnu_cxx::__bfloat16_t overloads.
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/26_numerics/complex/proj.cc: Skip test in the
- circumstances in which the implementation of proj is known to
- be broken.
-
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
+2023-05-17 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/fs_dir.cc (dir_and_pathname): Use dirfd if
- _GLIBCXX_HAVE_OPENAT.
+ * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
+ checks for float_round_style and float_denorm_style.
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
+2023-05-17 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc
- (test06): Don't create symlinks when NO_SYMLINKS is defined.
+ * include/bits/c++config: Add system_header pragma.
-2022-06-27 Alexandre Oliva <oliva@adacore.com>
+2023-05-17 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/lib/dg-options.exp (add_options_for_net_ts):
- Add -Wl,--gc-sections for RTEMS targets.
- * testsuite/experimental/net/timer/waitable/dest.cc: Link-time
- xfail on RTEMS.
- * testsuite/experimental/net/timer/waitable/ops.cc: Likewise.
- * testsuite/experimental/net/internet/resolver/ops/lookup.cc:
- Execution-time xfail on RTEMS.
- * testsuite/experimental/net/internet/resolver/ops/reverse.cc:
+ * include/std/expected (expected::and_then, expected::or_else)
+ (expected::transform, expected::transform_error): Fix exception
+ specifications as per LWG 3877.
+ (expected<void, E>::and_then, expected<void, E>::transform):
Likewise.
+ * testsuite/20_util/expected/lwg3877.cc: New test.
-2022-06-27 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/ext/mt_allocator/22309_thread.cc: Include <string>.
-
-2022-06-27 Joel Brobecker <brobecker@adacore.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path):
- Always include a counter in the filename returned.
-
-2022-06-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/move_only_function.h (_Never_valueless_alt):
- Define partial specialization for std::move_only_function.
+2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
-2022-06-27 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/type_traits: Use __bool_constant instead of
+ integral_constant.
- * include/std/variant (_Build_FUN::_S_fun): Define fallback case
- as deleted.
- (__accepted_index, _Extra_visit_slot_needed): Replace class
- templates with variable templates.
+2023-05-17 Jonathan Wakely <jwakely@redhat.com>
-2022-06-27 Jonathan Wakely <jwakely@redhat.com>
+ * configure: Regenerate.
- * include/bits/fs_path.h (__is_path_iter_src): Replace class
- template with variable template.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-27 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/109741
+ * acinclude.m4 (GLIBCXX_CHECK_ALIGNAS_CACHELINE): Define.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Use GLIBCXX_CHECK_ALIGNAS_CACHELINE.
+ * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): Do not
+ align lock table if not supported. use __GCC_DESTRUCTIVE_SIZE
+ instead of hardcoded 64.
- * include/bits/chrono.h (is_clock_v): Define to false.
- (is_clock_v<T>): Define partial specialization for true cases.
- (is_clock): Define in terms of is_clock_v.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Xi Ruoyao <xry111@xry111.site>
+ * acinclude.m4 (GLIBCXX_USE_C99): Check for isblank in C++11
+ mode and define _GLIBCXX_USE_C99_CTYPE. Check for <fenv.h>
+ functions in C++11 mode and define _GLIBCXX_USE_C99_FENV.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * include/c_compatibility/fenv.h: Check _GLIBCXX_USE_C99_FENV
+ instead of _GLIBCXX_USE_C99_FENV_TR1.
+ * include/c_global/cfenv: Likewise.
+ * include/c_global/cctype: Check _GLIBCXX_USE_C99_CTYPE instead
+ of _GLIBCXX_USE_C99_CTYPE_TR1.
+
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
+
+ * acinclude.m4 (GLIBCXX_USE_C99): Check for <stdint.h> types in
+ C++11 mode and define _GLIBCXX_USE_C99_STDINT. Check for
+ <inttypes.h> features in C++11 mode and define
+ _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
+ * include/bits/chrono.h: Check _GLIBCXX_USE_C99_STDINT instead
+ of _GLIBCXX_USE_C99_STDINT_TR1.
+ * include/c_compatibility/inttypes.h: Check
+ _GLIBCXX_USE_C99_INTTYPES and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T
+ instead of _GLIBCXX_USE_C99_INTTYPES_TR1 and
+ _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
+ * include/c_compatibility/stdatomic.h: Check
+ _GLIBCXX_USE_C99_STDINT instead of _GLIBCXX_USE_C99_STDINT_TR1.
+ * include/c_compatibility/stdint.h: Likewise.
+ * include/c_global/cinttypes: Check _GLIBCXX_USE_C99_INTTYPES
+ and _GLIBCXX_USE_C99_INTTYPES_WCHAR_T instead of
+ _GLIBCXX_USE_C99_INTTYPES_TR1 and
+ _GLIBCXX_USE_C99_INTTYPES_WCHAR_T_TR1.
+ * include/c_global/cstdint: Check _GLIBCXX_USE_C99_STDINT
+ instead of _GLIBCXX_USE_C99_STDINT_TR1.
+ * include/std/atomic: Likewise.
+ * src/c++11/cow-stdexcept.cc: Likewise.
+ * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
+ Likewise.
+ * testsuite/lib/libstdc++.exp (check_v3_target_cstdint):
+ Likewise.
- * scripts/extract_symvers.in: Use grep -E instead of egrep.
- * scripts/run_doxygen: Likewise.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * acinclude.m4 (GLIBCXX_USE_C99): Check for complex inverse trig
+ functions in C++11 mode and define _GLIBCXX_USE_C99_COMPLEX_ARC.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * doc/doxygen/user.cfg.in (PREDEFINED): Add new macro.
+ * include/std/complex: Check _GLIBCXX_USE_C99_COMPLEX_ARC
+ instead of _GLIBCXX_USE_C99_COMPLEX_TR1.
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
- openat.
- * configure, config.h.in: Rebuilt.
- * src/filesystem/dir-common.h (openat): Use ::openat if
- _GLIBCXX_HAVE_OPENAT.
- * src/filesystem/dir.cc (dir_and_pathname): Use dirfd if
- _GLIBCXX_HAVE_OPENAT.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
+ assertion to ensure expected exception is throw.
- * testsuite/27_io/filesystem/operations/rename.cc: xfail on
- rtems.
- * testsuite/experimental/filesystem/operations/rename.cc:
- Likewise.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
+ printer for chrono::zoned_time for cx11 ABI and tzdb effective
+ target.
- * testsuite/util/testsuite_fs.h (NO_LAST_WRITE_TIME): Define
- when appropriate.
- * testsuite/lib/libstdc++.exp
- (check_v3_target_fs_last_write_time): New.
- * testsuite/lib/dg-options.exp (dg-require-target-fs-lwt):
- New.
- * testsuite/27_io/filesystem/operations/last_write_time.cc:
- Skip the test if the features are unavailable.
- * testsuite/experimental/filesystem/operations/last_write_time.cc:
- Likewise.
+2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
+ _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
+ * configure: Regenerate.
- * testsuite/util/testsuite_fs.h (NO_SPACE): Define if
- appropriate.
- * testsuite/lib/libstdc++.exp (check_v3_target_fs_space): New.
- * testsuite/lib/dg-options.exp (dg-require-target-fs-space):
- New.
- * testsuite/27_io/filesystem/operations/space.cc: Require
- target-fs-space.
- * testsuite/experimental/filesystem/operations/space.cc:
- Likewise.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
+ to check for nan, nanf, and nanl.
+ * configure: Regenerate.
- * testsuite/util/testsuite_fs.h (NO_SYMLINKS): Define on
- mingw and when create_symlink is a dummy.
- * testsuite/27_io/filesystem/operations/symlink_status.cc:
- Drop mingw xfail.
- (test01, test02): Don't create symlinks when NO_SYMLINKS is
- defined.
- * testsuite/27_io/filesystem/operations/canonical.cc (test03):
- Likewise.
- * testsuite/27_io/filesystem/operations/copy.cc (test02):
- Likewise.
- * testsuite/27_io/filesystem/operations/create_directories.cc
- (test04): Likewise.
- * testsuite/27_io/filesystem/operations/create_directory.cc
- (test01): Likewise.
- * testsuite/27_io/filesystem/operations/permissions.cc
- (test03, test04): Likewise.
- * testsuite/27_io/filesystem/operations/remove.cc (test01):
- Likewise.
- * testsuite/27_io/filesystem/operations/remove_all.cc (test01):
- Likewise.
- * testsuite/27_io/filesystem/operations/rename.cc
- (test_symlinks): Likewise.
- * testsuite/27_io/filesystem/operations/weakly_canonical.cc
- (test01): Likewise.
- * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc
- (test06): Likewise.
- * testsuite/experimental/filesystem/operations/copy.cc
- (test01): Likewise.
- * testsuite/experimental/filesystem/operations/create_directories.cc
- (test04): Likewise.
- * testsuite/experimental/filesystem/operations/create_directory.cc
- (test01): Likewise.
- * testsuite/experimental/filesystem/operations/permissions.cc
- (test03, test04): Likewise.
- * testsuite/experimental/filesystem/operations/remove.cc
- (test01): Likewise.
- * testsuite/experimental/filesystem/operations/remove_all.cc
- (test01): Likewise.
- * testsuite/experimental/filesystem/operations/rename.cc
- (test01): Likewise.
- * testsuite/lib/libstdc++.exp
- (v3_check_preprocessor_condition): Add optional inc parameter.
- Add it to the test program after include bits/c++config.h.
- (check_v3_target_fs_symlinks): New.
- * testsuite/lib/dg-options.exp
- (dg-require-target-fs-symlinks): New.
- * testsuite/27_io/filesystem/operations/read_symlink.cc:
- Replace mingw xfail with require target-fs-symlinks.
- * testsuite/experimental/filesystem/operations/read_symlink.cc:
- Likewise.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * include/bits/char_traits.h (char_traits<char16_t>): Do not
+ depend on _GLIBCXX_USE_C99_STDINT_TR1.
+ (char_traits<char32_t>): Likewise.
+ * include/experimental/source_location: Likewise.
- * testsuite/27_io/filesystem/operations/copy.cc (test02):
- Select TO after creating FROM.
- (test03, test04): Likewise.
- * testsuite/experimental/filesystem/operations/copy.cc
- (test02, test03, test04): Likewise.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * include/std/atomic (atomic_int_least8_t, atomic_uint_least8_t)
+ (atomic_int_least16_t, atomic_uint_least16_t)
+ (atomic_int_least32_t, atomic_uint_least32_t)
+ (atomic_int_least64_t, atomic_uint_least64_t)
+ (atomic_int_fast16_t, atomic_uint_fast16_t)
+ (atomic_int_fast32_t, atomic_uint_fast32_t)
+ (atomic_int_fast64_t, atomic_uint_fast64_t)
+ (atomic_intmax_t, atomic_uintmax_t): Define unconditionally.
+ * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Adjust.
- * testsuite/30_threads/thread/native_handle/cancel.cc: Add an
- explicit cancellation point in case sleep_for lacks one.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-24 Alexandre Oliva <oliva@adacore.com>
+ * include/bits/algorithmfwd.h (shuffle): Do not depend on
+ _GLIBCXX_USE_C99_STDINT_TR1.
+ * include/bits/ranges_algo.h (shuffle): Likewise.
+ * include/bits/stl_algo.h (shuffle): Likewise.
+ * include/ext/random: Likewise.
+ * include/ext/throw_allocator.h (random_condition): Likewise.
+ * include/std/random: Likewise.
+ * src/c++11/cow-string-inst.cc: Likewise.
+ * src/c++11/random.cc: Likewise.
- * testsuite/lib/dg-options.exp (add_options_for_net_ts): Add
- -lbsd for RTEMS targets.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-23 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/experimental/feat-cxx14.cc: Remove dependency on
+ _GLIBCXX_USE_C99_STDINT_TR1.
- * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
- rmdir to remove directories.
- * testsuite/experimental/filesystem/iterators/error_reporting.cc:
- Likewise.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-23 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
+ on _GLIBCXX_USE_C99_STDINT_TR1.
- * testsuite/26_numerics/random/random_device/entropy.cc: Use
- numeric_limits<unsigned>::digits.
+2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-2022-06-22 Alexandre Oliva <oliva@adacore.com>
+ * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
+ dependency on _GLIBCXX_USE_C99_STDINT_TR1.
+ * testsuite/experimental/string_view/typedefs.cc: Likewise.
- * libsupc++/eh_globals.cc [!_GLIBCXX_HAVE_TLS]
- (__eh_globals_init::~__eh_globals_init): Clear _S_init first.
+2023-05-11 Jonathan Wakely <jwakely@redhat.com>
-2022-06-22 Alexandre Oliva <oliva@adacore.com>
+ * src/c++17/floating_from_chars.cc [USE_STRTOD_FOR_FROM_CHARS]
+ (auto_locale, auto_ferounding): New class types.
+ (from_chars_impl): Use auto_locale and auto_ferounding.
- * testsuite/30_threads/this_thread/60421.cc (test02): Call
- sched_yield.
+2023-05-11 Jonathan Wakely <jwakely@redhat.com>
-2022-06-22 Alexandre Oliva <oliva@adacore.com>
+ PR libstdc++/109772
+ * include/std/chrono (hh_mm_ss::__fits): Remove variable
+ template.
+ (hh_mm_ss::__subseconds): Remove __fits from constraints.
+ * testsuite/std/time/hh_mm_ss/109772.cc: New test.
+ * testsuite/std/time/hh_mm_ss/1.cc: Adjust expected size for
+ hh_mm_ss<duration<int, std::pico>>.
+
+2023-05-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * config/abi/pre/gnu.ver: Export basic_string::_S_allocate.
+ * include/bits/basic_ios.h: Add static assertion checking
+ traits_type::value_type.
+ * include/bits/basic_string.h: Likewise. Do not rebind
+ allocator, and add static assertion checking its value_type.
+ (basic_string::_Alloc_traits_impl): Remove class template.
+ (basic_string::_S_allocate): New static member function.
+ (basic_string::assign): Use _S_allocate.
+ * include/bits/basic_string.tcc (basic_string::_M_create)
+ (basic_string::reserve, basic_string::_M_replace): Likewise.
+ * testsuite/21_strings/basic_string/requirements/explicit_instantiation/debug.cc:
+ Disable for C++20 and later.
+ * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
+ Likweise.
- * testsuite/20_util/to_chars/long_double.cc: Require cmath.
+2023-05-11 Jonathan Wakely <jwakely@redhat.com>
-2022-06-22 Alexandre Oliva <oliva@adacore.com>
+ PR libstdc++/109758
+ * include/bits/std_abs.h (abs(__float128)): Handle negative NaN
+ and negative zero correctly.
+ * testsuite/26_numerics/headers/cmath/109758.cc: New test.
- * testsuite/23_containers/bitset/cons/dr1325-2.cc: Work around
- global struct bitset.
- * testsuite/23_containers/bitset/ext/15361.cc: Likewise.
- * testsuite/23_containers/bitset/input/1.cc: Likewise.
- * testsuite/23_containers/bitset/to_string/1.cc: Likewise.
- * testsuite/23_containers/bitset/to_string/dr396.cc: Likewise.
+2023-05-10 François Dumont <fdumont@gcc.gnu.org>
-2022-06-17 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/hashtable_policy.h
+ (_NodeBuilder<>::_S_build): Use __node_ptr.
+ (_ReuseOrAllocNode<>): Use __node_ptr in place of __node_type*.
+ (_AllocNode<>): Likewise.
+ (_Equality<>::_M_equal): Remove const_iterator usages. Only preserved
+ to call std::is_permutation in the non-unique key implementation.
+ * include/bits/hashtable.h (_Hashtable<>::_M_update_begin()): Capture
+ _M_begin() once.
+ (_Hashtable<>::_M_bucket_begin(size_type)): Implement implicitly inline.
+ (_Hashtable<>::_M_insert_bucket_begin): Likewise.
+ (_Hashtable<>::_M_remove_bucket_begin): Likewise.
+ (_Hashtable<>::_M_compute_hash_code): Use __node_ptr rather than
+ const_iterator.
+ (_Hashtable<>::find): Likewise.
+ (_Hashtable<>::_M_emplace): Likewise.
+ (_Hashtable<>::_M_insert_unique): Likewise.
+
+2023-05-09 Jonathan Wakely <jwakely@redhat.com>
+
+ * python/libstdcxx/v6/printers.py (StdChronoDurationPrinter):
+ Print floating-point durations correctly.
+ (StdChronoTimePointPrinter): Support printing only the value,
+ not the type name. Uncomment handling for known clocks.
+ (StdChronoZonedTimePrinter): Remove type names from output.
+ (StdChronoCalendarPrinter): Fix hh_mm_ss member access.
+ (StdChronoTimeZonePrinter): Add equals sign to output.
+ * testsuite/libstdc++-prettyprinters/chrono.cc: New test.
+
+2023-05-05 Alexandre Oliva <oliva@adacore.com>
+
+ * testsuite/20_util/from_chars/4.cc: Skip long double test06
+ on aarch64-vxworks.
+ * testsuite/20_util/to_chars/long_double.cc: Xfail run on
+ aarch64-vxworks.
+
+2023-05-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/abi.xml (abi.versioning.history): Document
+ libstdc++.so.6.0.32 and GLIBCXX_3.4.32 version.
+ * doc/html/manual/abi.html: Regenerate.
- * testsuite/21_strings/basic_string/cons/char/105995.cc: Add
- missing #include.
+2023-05-04 Florian Weimer <fweimer@redhat.com>
-2022-06-16 Jonathan Wakely <jwakely@redhat.com>
+ * doc/xml/manual/abi.xml (abi.versioning.history): Add
+ GCC_7.0.0, GCC_9.0.0, GCC_11.0, GCC_12.0.0, GCC_13.0.0 for
+ libgcc_s.
- PR libstdc++/105995
- * include/bits/basic_string.h (_M_use_local_data): Initialize
- the entire SSO buffer.
- * testsuite/21_strings/basic_string/cons/char/105995.cc: New test.
+2023-05-03 Jakub Jelinek <jakub@redhat.com>
-2022-06-16 Jonathan Wakely <jwakely@redhat.com>
+ * src/c++17/floating_from_chars.cc
+ (_ZSt10from_charsPKcS0_RDF128_St12chars_format): New alias to
+ _ZSt10from_charsPKcS0_Ru9__ieee128St12chars_format.
+ * src/c++17/floating_to_chars.cc (_ZSt8to_charsPcS_DF128_): New alias to
+ _ZSt8to_charsPcS_u9__ieee128.
+ (_ZSt8to_charsPcS_DF128_St12chars_format): New alias to
+ _ZSt8to_charsPcS_u9__ieee128St12chars_format.
+ (_ZSt8to_charsPcS_DF128_St12chars_formati): New alias to
+ _ZSt8to_charsPcS_u9__ieee128St12chars_formati.
+ * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Updated.
+
+2023-05-03 Jakub Jelinek <jakub@redhat.com>
+
+ * configure.host (abi_baseline_pair): Use powerpc64le-linux-gnu
+ rather than powerpc64-linux-gnu for powerpc64le*-linux*.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Remove
+ _ZTI*DF128_, _ZTI*DF64x symbols and symbols in
+ GLIBCXX_IEEE128_3.4.{29,30,31} and CXXABI_IEEE128_1.3.13 symbol
+ versions.
+ * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: New
+ file.
+
+2023-05-03 Kefu Chai <kefu.chai@scylladb.com>
+ Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/101482
- * include/ext/vstring.h (operator==): Always check lengths
- before comparing.
+ PR libstdc++/109703
+ * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
+ Initialize _M_string_length.
-2022-06-15 François Dumont <fdumont@gcc.gnu.org>
+2023-05-02 Jakub Jelinek <jakub@redhat.com>
- PR libstdc++/105717
- * include/bits/hashtable_policy.h (_ConvertToValueType): New.
- * include/bits/hashtable.h (_Hashtable<>::_M_insert_unique_aux): New.
- (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, true_type)): Use latters.
- (_Hashtable<>::_M_insert(_Arg&&, const _NodeGenerator&, false_type)): Likewise.
- (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&,
- const allocator_type&, true_type)): Use this.insert range.
- (_Hashtable(_InputIterator, _InputIterator, size_type, const _Hash&, const _Equal&,
- const allocator_type&, false_type)): Use _M_insert.
- * testsuite/23_containers/unordered_map/cons/56112.cc: Check how many times conversion
- is done.
- * testsuite/23_containers/unordered_map/insert/105717.cc: New test.
- * testsuite/23_containers/unordered_set/insert/105717.cc: New test.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
-2022-06-14 Jonathan Wakely <jwakely@redhat.com>
+2023-05-02 Jakub Jelinek <jakub@redhat.com>
- PR libstdc++/62187
- * include/bits/basic_string.h (operator==): Always compare
- lengths before checking string contents.
- [!__cpp_lib_three_way_comparison] (operator==, operator!=):
- Reorder arguments.
+ PR libstdc++/109694
+ * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
+ -Wattribute-alias.
-2022-06-14 Jonathan Wakely <jwakely@redhat.com>
+2023-04-28 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/59048
- * include/bits/basic_string.h (compare): Define inline.
- * include/bits/basic_string.tcc (compare): Remove out-of-line
- definitions.
- * include/bits/cow_string.h (compare): Define inline.
- * testsuite/21_strings/basic_string/operations/compare/char/3.cc:
- New test.
+ * include/bits/random.h (gamma_distribution): Add to the right
+ doxygen group.
+ (discrete_distribution, piecewise_constant_distribution)
+ (piecewise_linear_distribution): Create a new doxygen group and
+ fix the incomplete doxygen comments.
+ * include/bits/uniform_int_dist.h (uniform_int_distribution):
+ Add to doxygen group.
-2022-06-14 Jonathan Wakely <jwakely@redhat.com>
+2023-04-28 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/new_allocator.h: Fix indentation.
- * include/ext/malloc_allocator.h: Likewise.
+ * include/bits/uses_allocator.h: Add missing @file comment.
+ * include/bits/regex.tcc: Remove stray doxygen comments.
+ * include/experimental/memory_resource: Likewise.
+ * include/std/bit: Tweak doxygen @cond comments.
+ * include/std/expected: Likewise.
+ * include/std/numbers: Likewise.
-2022-06-14 Jonathan Wakely <jwakely@redhat.com>
+2023-04-28 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/105957
- * include/bits/allocator.h (allocator::allocate): Check for
- overflow in constexpr allocation.
- * testsuite/20_util/allocator/105975.cc: New test.
+ * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
+ from header paths.
-2022-06-13 Mark Mentovai <mark@mentovai.com>
+2023-04-28 Jonathan Wakely <jwakely@redhat.com>
- * include/experimental/bits/fs_path.h (__detail::__null_terminated):
- Rename to __nul_terminated to avoid colliding with a macro in
- Apple's SDK.
+ * include/bits/move.h: Simplify opening/closing namespace std.
-2022-06-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-28 Jakub Jelinek <jakub@redhat.com>
- * include/std/atomic (__atomic_val_t): Use __type_identity_t
- instead of atomic<T>::value_type, as per LWG 3220.
- * testsuite/29_atomics/atomic/lwg3220.cc: New test.
+ PR libstdc++/108969
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.32): Export
+ _ZSt21ios_base_library_initv.
+ * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.32
+ symver and make it the latestp.
+ * src/c++98/ios_init.cc (ios_base_library_init): New alias.
+ * acinclude.m4 (libtool_VERSION): Change to 6:32:0.
+ * include/std/iostream: If init_priority attribute is supported
+ and _GLIBCXX_SYMVER_GNU, force undefined _ZSt21ios_base_library_initv
+ symbol into the object.
+ * configure: Regenerated.
-2022-06-10 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/105844
- * include/experimental/numeric (experimental::gcd): Simplify
- assertions. Use __abs_r instead of __absu.
- (experimental::lcm): Likewise. Remove use of __detail::__lcm so
- overflow can be detected.
- * include/std/numeric (__detail::__absu): Rename to __abs_r and
- change to allow signed result type, so overflow can be detected.
- (__detail::__lcm): Remove.
- (gcd): Simplify assertions. Use __abs_r instead of __absu.
- (lcm): Likewise. Remove use of __detail::__lcm so overflow can
- be detected.
- * testsuite/26_numerics/gcd/gcd_neg.cc: Adjust dg-error lines.
- * testsuite/26_numerics/lcm/lcm_neg.cc: Likewise.
- * testsuite/26_numerics/gcd/105844.cc: New test.
- * testsuite/26_numerics/lcm/105844.cc: New test.
+ * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
+ * include/std/format: Likewise.
-2022-06-10 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/105880
- * libsupc++/eh_globals.cc (eh_globals): Ensure constant init and
- prevent destruction during termination.
- (__eh_globals_init::_M_init): Replace with static member _S_init.
- (__cxxabiv1::__cxa_get_globals_fast): Update.
- (__cxxabiv1::__cxa_get_globals): Likewise.
+ * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
+ (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
-2022-06-10 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/basic_string.h (__hash_str_base): New class
- template.
- (hash<basic_string<C, char_traits<C>, A>>): Define partial
- specialization for each of the standard character types.
- (hash<string>, hash<wstring>, hash<u8string>, hash<u16string>)
- (hash<u32string>): Remove explicit specializations.
- * include/std/string (__hash_string_base): Remove class
- template.
- (hash<pmr::string>, hash<pmr::wstring>, hash<pmr::u8string>)
- (hash<pmr::u16string>, hash<pmr::u32string>): Remove explicit
- specializations.
- * testsuite/21_strings/basic_string/hash/hash.cc: Test with
- custom allocators.
- * testsuite/21_strings/basic_string/hash/hash_char8_t.cc:
+ * doc/doxygen/user.cfg.in (SOURCE_BROWSER): Only set to YES for
+ HTML docs.
+ * include/bits/gslice_array.h (_DEFINE_VALARRAY_OPERATOR): Omit
+ from doxygen docs.
+ * include/bits/indirect_array.h (_DEFINE_VALARRAY_OPERATOR):
Likewise.
+ * include/bits/mask_array.h (_DEFINE_VALARRAY_OPERATOR):
+ Likewise.
+ * include/bits/slice_array.h (_DEFINE_VALARRAY_OPERATOR):
+ Likewise.
+ * include/std/valarray (_DEFINE_VALARRAY_UNARY_OPERATOR)
+ (_DEFINE_VALARRAY_AUGMENTED_ASSIGNMENT)
+ (_DEFINE_VALARRAY_EXPR_AUGMENTED_ASSIGNMENT)
+ (_DEFINE_BINARY_OPERATOR): Likewise.
-2022-05-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105671
- * include/std/sstream (basic_stringbuf::_M_high_mark): Add
- always_inline attribute.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/105681
- * include/ext/pb_ds/detail/resize_policy/hash_prime_size_policy_imp.hpp:
- Limit ga_sizes array to values that fit in size_t.
- * include/ext/random [__SIZE_WIDTH < 32] (sfmt86243)
- (sfmt86243_64, sfmt132049, sfmt132049_64, sfmt216091)
- (sfmt216091_64): Do not declare.
+ * include/bits/memory_resource.h: Improve doxygen comments.
+ * include/std/memory_resource: Likewise.
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Make
- lookup for ios_errc and future_errc check versioned namespace.
- (StdAtomicPrinter): Strip versioned namespace from typename.
+ PR libstdc++/40380
+ * include/bits/basic_string.h: Improve doxygen comments.
+ * include/bits/cow_string.h: Likewise.
+ * include/bits/forward_list.h: Likewise.
+ * include/bits/fs_dir.h: Likewise.
+ * include/bits/fs_path.h: Likewise.
+ * include/bits/quoted_string.h: Likewise.
+ * include/bits/stl_bvector.h: Likewise.
+ * include/bits/stl_map.h: Likewise.
+ * include/bits/stl_multimap.h: Likewise.
+ * include/bits/stl_multiset.h: Likewise.
+ * include/bits/stl_set.h: Likewise.
+ * include/bits/stl_vector.h: Likewise.
+ * include/bits/unordered_map.h: Likewise.
+ * include/bits/unordered_set.h: Likewise.
+ * include/std/filesystem: Likewise.
+ * include/std/iomanip: Likewise.
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
+2023-04-27 Jonathan Wakely <jwakely@redhat.com>
- * src/c++11/Makefile.am: Add new source file.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++11/cxx11-ios_failure.cc (iostream_category):
- Move to ...
- * src/c++11/ios_errcat.cc: New file.
- * testsuite/27_io/ios_base/failure/error_code.cc: Check that
- std::iostream_category() is defined and used for std::io_errc.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (counted_iterator::operator++(int)):
- Add 'constexpr' as per LWG 3643.
- * testsuite/24_iterators/counted_iterator/lwg3643.cc: New test.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/functional_hash.h (__is_fast_hash): Add doxygen
- comment.
- * include/bits/hashtable.h: Do not include <bits/stl_function.h>
- here.
- * include/bits/hashtable_policy.h: Include <bits/stl_pair.h> and
- <bits/functional_hash.h>.
- * include/bits/unordered_map.h: Include required headers.
- * include/bits/unordered_set.h: Likewise.
- * include/std/unordered_map: Do not include headers for indirect
- dependencies.
- * include/std/unordered_set: Likewise.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_algobase.h: Do not include
- <bits/stl_iterator_base_types.h>.
- * include/std/string: Likewise.
- * include/std/variant: Likewise.
-
-2022-05-26 Nathan Sidwell <nathan@acm.org>
-
- * include/bits/hashtable.h: Include required headers.
- * include/bits/hashtable_policy.h: Likewise.
- * include/bits/stl_heap.h: Likewise.
- * include/bits/stl_iterator_base_funcs.h: Likewise.
-
-2022-05-26 François Dumont <fdumont@gcc.gnu.org>
-
- * python/libstdcxx/v6/printers.py (StdSpanPrinter.__init__):
- Strip typename from version namespace.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Strip
- versioned namespace from the template argument too.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string/modifiers/pop_back/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/modifiers/pop_back/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/modifiers/pop_back/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/modifiers/swap/wchar_t/constexpr.cc:
- Moved to...
- * testsuite/21_strings/basic_string/modifiers/swap/constexpr-wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/modifiers/swap/char/constexpr.cc:
- Moved to...
- * testsuite/21_strings/basic_string/modifiers/swap/constexpr.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/contains/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/contains/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/contains/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/contains/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/data/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/data/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/data/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/data/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/ends_with/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/ends_with/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/ends_with/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/ends_with/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/starts_with/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/starts_with/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/starts_with/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/starts_with/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/substr/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/substr/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/operations/substr/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/operations/substr/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/range_access/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/range_access/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/range_access/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/range_access/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/swap/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/swap/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/modifiers/swap/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/contains/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/contains/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/contains/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/data/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/data/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/data/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/data/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/ends_with/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/ends_with/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/ends_with/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/starts_with/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/starts_with/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/starts_with/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/substr/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/operations/substr/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/range_access/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/range_access/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/range_access/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/range_access/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char16_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char32_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/char8_t.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/int.cc:
- ...here.
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string/requirements/explicit_instantiation/wchar_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char16_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char32_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/char8_t.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/int.cc:
- ...here.
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/basic_string_view/requirements/explicit_instantiation/wchar_t.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char16_t.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char32_t.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/char8_t.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/short.cc:
- ...here.
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t/1.cc:
- Moved to...
- * testsuite/21_strings/char_traits/requirements/explicit_instantiation/wchar_t.cc:
- ...here.
-
-2022-05-26 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/duration/requirements/explicit_instantiation/explicit_instantiation.cc:
- Moved to...
- * testsuite/20_util/duration/requirements/explicit_instantiation.cc: ...here.
- * testsuite/20_util/time_point/requirements/explicit_instantiation/explicit_instantiation.cc:
- Moved to...
- * testsuite/20_util/time_point/requirements/explicit_instantiation.cc: ...here.
- * testsuite/20_util/unique_ptr/requirements/explicit_instantiation/explicit_instantiation.cc:
- Moved to...
- * testsuite/20_util/unique_ptr/requirements/explicit_instantiation.cc: ...here.
-
-2022-05-25 Jason Merrill <jason@redhat.com>
-
- * testsuite/20_util/function_objects/constexpr_searcher.cc: Add
- constexpr.
+ PR libstdc++/105081
+ * src/c++11/random.cc (__throw_syserr): New function.
+ (random_device::_M_init, random_device::_M_init_pretr1): Use new
+ function for bad tokens.
+ (random_device::_M_getval): Use new function for read errors.
+ * testsuite/util/testsuite_random.h (random_device_available):
+ Change catch handler to use std::system_error.
-2022-05-20 Jonathan Wakely <jwakely@redhat.com>
+2023-04-24 Patrick Palka <ppalka@redhat.com>
- * testsuite/26_numerics/random/bernoulli_distribution/operators/values.cc:
- Run fewer iterations for simulator targets.
- * testsuite/26_numerics/random/binomial_distribution/operators/values.cc:
- Likewise.
- * testsuite/26_numerics/random/discrete_distribution/operators/values.cc:
- Likewise.
- * testsuite/26_numerics/random/geometric_distribution/operators/values.cc:
- Likewise.
- * testsuite/26_numerics/random/negative_binomial_distribution/operators/values.cc:
- Likewise.
- * testsuite/26_numerics/random/poisson_distribution/operators/values.cc:
- Likewise.
- * testsuite/26_numerics/random/uniform_int_distribution/operators/values.cc:
- Likewise.
+ * include/bits/max_size_type.h (__max_diff_type::operator>>=):
+ Fix propagation of sign bit.
+ * testsuite/std/ranges/iota/max_size_type.cc: Avoid using the
+ non-standard 'signed typedef-name'. Add some compile-time tests
+ for right-shifting a negative __max_diff_type value by more than
+ one.
-2022-05-19 Jonathan Wakely <jwakely@redhat.com>
+2023-04-19 Patrick Palka <ppalka@redhat.com>
+ Jonathan Wakely <jwakely@redhat.com>
- * include/bits/char_traits.h: Only include <cstdint> when
- necessary.
- * include/std/stacktrace: Use __UINTPTR_TYPE__ instead of
- uintptr_t.
- * src/c++11/cow-stdexcept.cc: Include <stdint.h>.
- * src/c++17/floating_to_chars.cc: Likewise.
- * testsuite/20_util/assume_aligned/1.cc: Include <cstdint>.
- * testsuite/20_util/assume_aligned/3.cc: Likewise.
- * testsuite/20_util/shared_ptr/creation/array.cc: Likewise.
+ PR c++/100157
+ * include/bits/utility.h (_Nth_type): Conditionally define in
+ terms of __type_pack_element if available.
+ * testsuite/20_util/tuple/element_access/get_neg.cc: Prune
+ additional errors from the new built-in.
-2022-05-19 Jonathan Wakely <jwakely@redhat.com>
+2023-04-19 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/basic_string.h: Do not include <ext/atomicity.h>
- here.
- * include/bits/cow_string.h: Include it here.
+ Revert:
+ 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
-2022-05-19 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108969
+ * src/Makefile.am: Move globals_io.cc to here.
+ * src/Makefile.in: Regenerate.
+ * src/c++98/Makefile.am: Remove globals_io.cc from here.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
+ symbol name and then export with GLIBCXX_3.4.31 symver.
+ (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/pre/gnu.ver: Add iostream objects to new symver.
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/bits/memory_resource.h: New file.
- * include/std/deque: Include <bits/memory_resource.h>.
- * include/std/forward_list: Likewise.
- * include/std/list: Likewise.
- * include/std/map: Likewise.
- * include/std/memory_resource (pmr::memory_resource): Move to
- new <bits/memory_resource.h> header.
- (pmr::polymorphic_allocator): Likewise.
- * include/std/regex: Likewise.
- * include/std/set: Likewise.
- * include/std/stacktrace: Likewise.
- * include/std/string: Likewise.
- * include/std/unordered_map: Likewise.
- * include/std/unordered_set: Likewise.
- * include/std/vector: Likewise.
- * testsuite/21_strings/basic_string/types/pmr_typedefs.cc:
- Remove <memory_resource> header and check construction.
- * testsuite/23_containers/deque/types/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/forward_list/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/list/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/map/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/multimap/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/multiset/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/set/pmr_typedefs.cc: Likewise.
- * testsuite/23_containers/unordered_map/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_multimap/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_multiset/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/unordered_set/pmr_typedefs.cc:
- Likewise.
- * testsuite/23_containers/vector/pmr_typedefs.cc: Likewise.
- * testsuite/28_regex/match_results/pmr_typedefs.cc: Likewise.
+2023-04-19 Jonathan Wakely <jwakely@redhat.com>
-2022-05-19 Jonathan Wakely <jwakely@redhat.com>
+ Revert:
+ 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
- * include/std/memory_resource (polymorphic_allocator): Add
- non-template equality operator, as proposed for LWG 3683.
- * testsuite/20_util/polymorphic_allocator/lwg3683.cc: New test.
+ PR libstdc++/108969
+ * config/abi/pre/gnu.ver: Fix preprocessor condition.
-2022-05-17 Jonathan Wakely <jwakely@redhat.com>
+2023-04-18 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/memory_resource.cc (set_default_resource): Use
- memory_order_acq_rel.
- (get_default_resource): Use memory_order_acquire.
+ * doc/xml/manual/extensions.xml: Fix example to declare and
+ qualify std::free, and use NULL instead of 0.
+ * doc/html/manual/ext_demangling.html: Regenerate.
+ * libsupc++/cxxabi.h: Adjust doxygen comments.
-2022-05-17 Jonathan Wakely <jwakely@redhat.com>
+2023-04-18 Jonathan Wakely <jwakely@redhat.com>
- * include/std/memory_resource (new_delete_resource): Add
- nodiscard, returns_nonnull and const attributes.
- (null_memory_resource): Likewise.
- (set_default_resource, get_default_resource): Add returns_nonnull
- attribute.
- (memory_resource::is_equal): Add nodiscard attribute.
- (operator==, operator!=): Likewise.
+ PR libstdc++/108969
+ * config/abi/pre/gnu.ver: Fix preprocessor condition.
-2022-05-17 Jonathan Wakely <jwakely@redhat.com>
+2023-04-18 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/ios_base.h (io_category): Add const and nodiscard
- attributes.
- (make_error_code, make_error_condition): Add nodiscard.
- * include/std/future (future_category): Add const and nodiscard.
- (make_error_code, make_error_condition): Add nodiscard.
- * include/std/system_error (generic_category system_category):
- Add nodiscard. Replace _GLIBCXX_CONST with C++11 attribute.
- (error_code::value, error_code::category, error_code::operator bool)
- (error_condition::value, error_condition::category)
- (error_condition::operator bool, make_error_code)
- (make_error_condition, operator==, operator!=, operator<=>): Add
- nodiscard.
-
-2022-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/expected/synopsis.cc: Skip for versioned
- namespace.
- * testsuite/27_io/headers/iosfwd/synopsis.cc: Likewise.
-
-2022-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * src/Makefile.am [ENABLE_SYMVERS_GNU_NAMESPACE] (cxx11_sources):
- Do not build the compatibility*-c++0x.cc objects.
+ PR libstdc++/108969
+ * src/Makefile.am: Move globals_io.cc to here.
* src/Makefile.in: Regenerate.
- * src/c++11/compatibility-c++0x.cc [_GLIBCXX_INLINE_VERSION]:
- Refuse to build for the versioned namespace.
- * src/c++11/compatibility-chrono.cc: Likewise.
- * src/c++11/compatibility-condvar.cc: Likewise.
- * src/c++11/compatibility-thread-c++0x.cc: Likewise.
- * src/c++11/chrono.cc (system_clock, steady_clock):
- Use macros to define in inline namespace _V2, matching the
- declarations in <system_error>.
- * src/c++11/system_error.cc (system_category, generic_category):
- Likewise.
+ * src/c++98/Makefile.am: Remove globals_io.cc from here.
+ * src/c++98/Makefile.in: Regenerate.
+ * src/c++98/globals_io.cc [_GLIBCXX_SYMVER_GNU] (cin): Adjust
+ symbol name and then export with GLIBCXX_3.4.31 symver.
+ (cout, cerr, clog, wcin, wcout, wcerr, wclog): Likewise.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt:
+ Regenerate.
+ * config/abi/pre/gnu.ver: Add iostream objects to new symver.
-2022-05-16 Jonathan Wakely <jwakely@redhat.com>
+2023-04-18 Patrick Palka <ppalka@redhat.com>
- * doc/xml/manual/prerequisites.xml: Fix attributes for external
- hyperlink.
- * doc/html/manual/setup.html: Regenerate.
+ PR libstdc++/108827
+ * include/bits/ranges_cmp.h (__cpp_lib_ranges): Bump value
+ for C++23.
+ * include/std/ranges (range_adaptor_closure): Define for C++23.
+ * include/std/version (__cpp_lib_ranges): Bump value for
+ C++23.
+ * testsuite/std/ranges/version_c++23.cc: Bump expected value
+ of __cpp_lib_ranges.
+ * testsuite/std/ranges/range_adaptor_closure.cc: New test.
-2022-05-16 Jonathan Wakely <jwakely@redhat.com>
+2023-04-18 Patrick Palka <ppalka@redhat.com>
- * doc/xml/manual/status_cxx2023.xml: Update with gcc-12 support.
+ * include/bits/ranges_algo.h (__cpp_lib_ranges_contains):
+ Define for C++23.
+ (__cpp_lib_ranges_iota): Likewise.
+ (__cpp_lib_ranges_find_last): Likewise.
+ (__cpp_lib_fold): Rename to ...
+ (__cpp_lib_ranges_fold): ... this.
+ * include/std/version: As above.
+ * testsuite/25_algorithms/fold_left/1.cc: Adjust after
+ renaming __cpp_lib_fold.
+ * testsuite/std/ranges/version_c++23.cc: Verify values
+ of the above feature-test macros.
+
+2023-04-18 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/109525
+ * include/std/ranges (views::_AsConst::operator()): Add
+ missing const to constant_range test.
+ * testsuite/std/ranges/adaptors/as_const/1.cc (test02):
+ Improve formatting. Adjust expected type of v2.
+ (test03): New test.
+
+2023-04-14 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_base.h (const_iterator_t): Define for C++23.
+ (const_sentinel_t): Likewise.
+ (range_const_reference_t): Likewise.
+ (constant_range): Likewise.
+ (__cust_access::__possibly_const_range): Likewise, replacing ...
+ (__cust_access::__as_const): ... this.
+ (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4.
+ (__cust_access::_CEnd::operator()): Likewise.
+ (__cust_access::_CRBegin::operator()): Likewise.
+ (__cust_access::_CREnd::operator()): Likewise.
+ (__cust_access::_CData::operator()): Likewise.
+ * include/bits/ranges_util.h (ranges::__detail::__different_from):
+ Make it an alias of std::__detail::__different_from.
+ (view_interface::cbegin): Define for C++23.
+ (view_interface::cend): Likewise.
+ * include/bits/stl_iterator.h (__detail::__different_from): Define.
+ (iter_const_reference_t): Define for C++23.
+ (__detail::__constant_iterator): Likewise.
+ (__detail::__is_const_iterator): Likewise.
+ (__detail::__not_a_const_iterator): Likewise.
+ (__detail::__iter_const_rvalue_reference_t): Likewise.
+ (__detail::__basic_const_iter_cat):: Likewise.
+ (const_iterator): Likewise.
+ (__detail::__const_sentinel): Likewise.
+ (const_sentinel): Likewise.
+ (basic_const_iterator): Likewise.
+ (common_type<basic_const_iterator<_Tp>, _Up>): Likewise.
+ (common_type<_Up, basic_const_iterator<_Tp>>): Likewise.
+ (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>):
+ Likewise.
+ (make_const_iterator): Define for C++23.
+ (make_const_sentinel): Likewise.
+ * include/std/ranges (__cpp_lib_ranges_as_const): Likewise.
+ (as_const_view): Likewise.
+ (enable_borrowed_range<as_const_view>): Likewise.
+ (views::__detail::__is_ref_view): Likewise.
+ (views::__detail::__can_is_const_view): Likewise.
+ (views::_AsConst, views::as_const): Likewise.
+ * include/std/span (span::const_iterator): Likewise.
+ (span::const_reverse_iterator): Likewise.
+ (span::cbegin): Likewise.
+ (span::cend): Likewise.
+ (span::crbegin): Likewise.
+ (span::crend): Likewise.
+ * include/std/version (__cpp_lib_ranges_as_const): Likewise.
+ * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to
+ behave independently of C++20 vs C++23.
+ * testsuite/std/ranges/version_c++23.cc: Verify value of
+ __cpp_lib_ranges_as_const macro.
+ * testsuite/24_iterators/const_iterator/1.cc: New test.
+ * testsuite/std/ranges/adaptors/as_const/1.cc: New test.
+
+2023-04-14 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_base.h (__cust_access::__as_const)
+ (__cust_access::_CBegin, __cust::cbegin)
+ (__cust_access::_CEnd, __cust::cend)
+ (__cust_access::_CRBegin, __cust::crbegin)
+ (__cust_access::_CREnd, __cust::crend)
+ (__cust_access::_CData, __cust::cdata): Move down definitions to
+ shortly after the definition of input_range.
+
+2023-04-14 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/ranges_algo.h: Include <optional> for C++23.
+ (__cpp_lib_fold): Define for C++23.
+ (in_value_result): Likewise.
+ (__detail::__flipped): Likewise.
+ (__detail::__indirectly_binary_left_foldable_impl): Likewise.
+ (__detail::__indirectly_binary_left_foldable): Likewise.
+ (___detail:__indirectly_binary_right_foldable): Likewise.
+ (fold_left_with_iter_result): Likewise.
+ (__fold_left_with_iter_fn, fold_left_with_iter): Likewise.
+ (__fold_left_fn, fold_left): Likewise.
+ (__fold_left_first_with_iter_fn, fold_left_first_with_iter):
+ Likewise.
+ (__fold_left_first_fn, fold_left_first): Likewise.
+ (__fold_right_fn, fold_right): Likewise.
+ (__fold_right_last_fn, fold_right_last): Likewise.
+ * include/std/version (__cpp_lib_fold): Likewise.
+ * testsuite/25_algorithms/fold_left/1.cc: New test.
+ * testsuite/25_algorithms/fold_right/1.cc: New test.
+
+2023-04-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/format (formatter): Add comment to deleted default
+ constructor of primary template.
+ (_Checking_scanner): Add static_assert.
+
+2023-04-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/using.xml: Document libstdc++exp.a library.
* doc/html/*: Regenerate.
-2022-05-16 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Jonathan Wakely <jwakely@redhat.com>
- * doc/xml/manual/intro.xml: Include new chapter.
- * doc/xml/manual/status_cxx2020.xml: Tweak release numbers.
- * doc/xml/manual/status_cxx2023.xml: New file.
- * doc/html/*: Regenerate.
+ * testsuite/17_intro/names.cc [_AIX]: Do not define policy.
+ * testsuite/19_diagnostics/error_code/cons/lwg3629.cc: Rename
+ namespace to avoid clashing with libc struct.
+ * testsuite/19_diagnostics/error_condition/cons/lwg3629.cc:
+ Likewise.
+ * testsuite/23_containers/unordered_map/96088.cc: Skip on AIX.
+ * testsuite/23_containers/unordered_multimap/96088.cc: Likewise.
+ * testsuite/23_containers/unordered_multiset/96088.cc: Likewise.
+ * testsuite/23_containers/unordered_set/96088.cc: Likewise.
+ * testsuite/experimental/synchronized_value.cc: Require gthreads
+ and add missing option for pthreads targets.
-2022-05-16 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Patrick Palka <ppalka@redhat.com>
- * doc/html/manual/status.html: Regenerate.
- * doc/xml/manual/status_cxx2020.xml: Fix supported version for
- C++20 bit operations.
+ * include/std/ranges (__cpp_lib_ranges_enumerate): Define
+ for C++23.
+ (__detail::__range_with_movable_reference): Likewise.
+ (enumerate_view): Likewise.
+ (enumerate_view::_Iterator): Likewise.
+ (enumerate_view::_Sentinel): Likewise.
+ (views::__detail::__can_enumerate_view): Likewise.
+ (views::_Enumerate, views::enumerate): Likewise.
+ * include/std/version (__cpp_lib_ranges_enumerate): Likewise.
+ * testsuite/std/ranges/version_c++23.cc: Verify value of
+ __cpp_lib_ranges_enumerate.
+ * testsuite/std/ranges/adaptors/enumerate/1.cc: New test.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Patrick Palka <ppalka@redhat.com>
- * include/bits/std_thread.h (thread::_State, thread::_State_ptr):
- Declare as private unless _GLIBCXX_THREAD_IMPL is defined.
- * src/c++11/thread.cc (_GLIBCXX_THREAD_IMPL): Define.
+ * include/std/ranges (lazy_split_view::_OuterIter::_OuterIter):
+ Propagate _M_trailing_empty in the const-converting constructor
+ as per LWG 3904.
+ * testsuite/std/ranges/adaptors/adjacent/1.cc (test04): Correct
+ assertion.
+ * testsuite/std/ranges/adaptors/lazy_split.cc (test12): New test.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Patrick Palka <ppalka@redhat.com>
- * include/std/future (launch): Make operators noexcept.
+ * src/c++17/floating_from_chars.cc: Include <algorithm>,
+ <iterator>, <limits> and <cstdint>.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Patrick Palka <ppalka@redhat.com>
- * doc/doxygen/user.cfg.in (PREDEFINED): Replace __exception_ptr
- with "__unspecified__".
- * libsupc++/exception_ptr.h: Improve doxygen docs.
- (__exception_ptr::swap): Also declare in namespace std.
+ PR libstdc++/108291
+ * include/std/ranges (chunk_by_view::_M_find_next): Generalize
+ parameter types of the lambda wrapper passed to adjacent_find.
+ (chunk_by_view::_M_find_prev): Likewise.
+ * testsuite/std/ranges/adaptors/chunk_by/1.cc (test04, test05):
+ New tests.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Jonathan Wakely <jwakely@redhat.com>
- * libsupc++/nested_exception.h (throw_with_nested) [C++17]: Use
- if-constexpr instead of tag dispatching.
- (rethrow_if_nested) [C++17]: Likewise.
- (rethrow_if_nested) [!__cpp_rtti]: Do not use dynamic_cast if it
- would require RTTI.
- * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
- New test.
+ PR libstdc++/109482
+ * include/experimental/internet (basic_endpoint::basic_endpoint()):
+ Ensure that the required union members are active. Only define
+ as constexpr for C++20 and later.
+ (basic_endpoint::basic_endpoint(const protocol_type&, port_type)):
+ Likewise.
+ * testsuite/experimental/net/internet/endpoint/cons.cc: Only
+ check constexpr default constructor for C++20 and later.
+ * testsuite/experimental/net/internet/endpoint/extensible.cc:
+ Likewise.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-12 Jonathan Wakely <jwakely@redhat.com>
- * doc/doxygen/user.cfg.in (PREDEFINED): Define
- _GTHREAD_USE_MUTEX_TIMEDLOCK macro.
- * include/bits/std_mutex.h (mutex, lock_guard): Use @since and
- @headerfile.
- * include/bits/unique_lock.h (unique_lock): Likewise.
- * include/std/mutex (recursive_mutex, timed_mutex)
- (recursive_timed_mutex, scoped_lock): Likewise.
+ * src/c++20/tzdata.zi: Import new file from 2023c release.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-05 Arsen Arsenović <arsen@aarsen.me>
- * doc/doxygen/user.cfg.in (PREDEFINED): Define
- _GLIBCXX23_CONSTEXPR macro.
- * include/backward/auto_ptr.h (auto_ptr): Use @deprecated.
- * include/bits/unique_ptr.h (default_delete): Use @since and
- @headerfile.
- * include/std/scoped_allocator: Remove @ingroup from @file
- block.
+ * include/precompiled/stdc++.h (C++17): Don't double-include
+ <charconv>, once with wrong conditions.
+ * testsuite/18_support/96817.cc: Require hosted.
+ * testsuite/18_support/bad_exception/59392.cc: Ditto.
+ * testsuite/20_util/scoped_allocator/108952.cc: Ditto.
+ * testsuite/20_util/uses_allocator/lwg3527.cc: Ditto.
+ * testsuite/29_atomics/atomic/operators/pointer_partial_void.cc:
+ Ditto.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-05 Arsen Arsenović <arsen@aarsen.me>
- * include/bits/std_thread.h (thread, thread::id): Improve
- doxygen docs.
- * include/std/future: Likewise.
- * include/std/thread (jthread): Likewise.
+ * include/bits/c++config: When __STDC_HOSTED__ is zero,
+ disable _GLIBCXX_DEBUG and, if it was set, enable
+ _GLIBCXX_ASSERTIONS.
+ * testsuite/lib/libstdc++.exp (check_v3_target_debug_mode):
+ Include <bits/c++config.h> when determining whether debug is
+ set, in order to inherit the logic from above
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-05 Arsen Arsenović <arsen@aarsen.me>
- * include/bits/ostream_insert.h: Mark helper functions as
- undocumented by Doxygen.
- * include/bits/stl_algo.h: Use markdown for formatting and mark
- helper functions as undocumented.
- * include/bits/stl_numeric.h: Likewise.
- * include/bits/stl_pair.h (pair): Add @headerfile.
+ * testsuite/17_intro/versionconflict.cc: New test.
+ * include/std/version: Allow disabling the system_header pragma
+ via _GLIBCXX_TESTING_SYSHDR.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-04-05 Arsen Arsenović <arsen@aarsen.me>
- * doc/doxygen/user.cfg.in (PREDEFINED): Define __allocator_base
- so that Doxygen shows the right base-class for std::allocator.
- * include/bits/alloc_traits.h: Improve doxygen docs.
- * include/bits/allocator.h: Likewise.
- * include/bits/new_allocator.h: Likewise.
- * include/ext/new_allocator.h: Likewise.
+ * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
+ Synchronize the definition block with...
+ * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory):
+ ... this one here. Also define the 202202L value, rather than
+ leaving it up to purely unique_ptr.h, so that the value is
+ synchronized across all headers.
+ (__gnu_debug::_Safe_iterator_base): Move into new conditional
+ block.
+ * include/std/memory (__cpp_lib_atomic_value_initialization):
+ Define on freestanding under the same conditions as in
+ atomic_base.h.
+ * include/std/version (__cpp_lib_robust_nonmodifying_seq_ops):
+ Also define on freestanding.
+ (__cpp_lib_to_chars): Ditto.
+ (__cpp_lib_gcd): Ditto.
+ (__cpp_lib_gcd_lcm): Ditto.
+ (__cpp_lib_raw_memory_algorithms): Ditto.
+ (__cpp_lib_array_constexpr): Ditto.
+ (__cpp_lib_nonmember_container_access): Ditto.
+ (__cpp_lib_clamp): Ditto.
+ (__cpp_lib_constexpr_char_traits): Ditto.
+ (__cpp_lib_constexpr_string): Ditto.
+ (__cpp_lib_sample): Ditto.
+ (__cpp_lib_lcm): Ditto.
+ (__cpp_lib_constexpr_iterator): Ditto.
+ (__cpp_lib_constexpr_char_traits): Ditto.
+ (__cpp_lib_interpolate): Ditto.
+ (__cpp_lib_constexpr_utility): Ditto.
+ (__cpp_lib_shift): Ditto.
+ (__cpp_lib_ranges): Ditto.
+ (__cpp_lib_move_iterator_concept): Ditto.
+ (__cpp_lib_constexpr_numeric): Ditto.
+ (__cpp_lib_constexpr_functional): Ditto.
+ (__cpp_lib_constexpr_algorithms): Ditto.
+ (__cpp_lib_constexpr_tuple): Ditto.
+ (__cpp_lib_constexpr_memory): Ditto.
+
+2023-04-05 John David Anglin <danglin@gcc.gnu.org>
+
+ * testsuite/22_locale/locale/cons/12658_thread-2.cc: Double
+ timeout factor on hppa*-*-*.
+
+2023-04-05 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/regex.h (sub_match::swap): New function.
+ * testsuite/28_regex/sub_match/lwg3204.cc: New test.
+
+2023-04-04 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/extensions.xml: Remove std::bad_exception from
+ example program.
+ * doc/html/manual/ext_demangling.html: Regenerate.
+
+2023-03-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR tree-optimization/107087
+ * include/bits/cow_string.h (basic_string::size()): Add
+ optimizer hint that _S_empty_rep()._M_length is always zero.
+ (basic_string::length()): Call size().
+
+2023-03-31 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/109339
+ * include/std/stop_token (_Stop_state_ptr(const stop_source&)):
+ Add attribute access with access-mode 'none'.
+ * testsuite/30_threads/stop_token/stop_source/109339.cc: New test.
+
+2023-03-31 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/internet (ip::basic_endpoint::_M_if_v6):
+ Revert change from member function to data member. Fix for
+ constant evaluation by detecting which union member is active.
+ (ip::basic_endpoint::resize): Revert changes to update _M_is_v6
+ flag.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-29 Jonathan Wakely <jwakely@redhat.com>
- * doc/doxygen/user.cfg.in (PREDEFINED): Define macro
- _GLIBCXX_DOXYGEN_ONLY to expand its argument.
- * include/bits/c++config (_GLIBCXX_DOXYGEN_ONLY): Define.
- * include/bits/regex.h: Improve doxygen docs.
- * include/bits/regex_constants.h: Likewise.
- * include/bits/regex_error.h: Likewise.
+ PR libstdc++/109242
+ * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
+ * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-29 Jonathan Wakely <jwakely@redhat.com>
- * include/std/atomic: Suppress doxygen docs for
- implementation details.
- * include/bits/atomic_base.h: Likewise.
- * include/bits/shared_ptr_atomic.h: Use markdown. Fix grouping
- so that std::atomic is not added to the pointer abstractions
- group.
+ * include/experimental/internet (ip::make_address): Implement
+ missing overload.
+ (ip::address_v4::broadcast()): Avoid undefined shift.
+ (ip::basic_endpoint): Fix member functions for constexpr.
+ (ip::basic_endpoint::_M_is_v6): Replace member function with
+ data member, adjust member functions using it.
+ (ip::basic_endpoint::resize): Update _M_is_v6 based on sockaddr
+ content.
+ * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
+ constexpr checks to work in C++14.
+ * testsuite/experimental/net/internet/address/v4/creation.cc:
+ Likewise.
+ * testsuite/experimental/net/internet/endpoint/cons.cc:
+ Likewise.
+ * testsuite/experimental/net/internet/network/v4/cons.cc:
+ Likewise.
+ * testsuite/experimental/net/internet/network/v4/members.cc:
+ Likewise.
+ * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-29 Jonathan Wakely <jwakely@redhat.com>
- * include/std/system_error: Improve doxygen comments.
+ * include/std/expected (expected::value() &): Use const lvalue
+ for unex member passed to bad_expected_access constructor, as
+ per LWG 3843.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-29 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/ptr_traits.h: Add some doxygen comments.
+ PR libstdc++/109340
+ * include/std/expected (expected::transform): Use
+ std::remove_cv_t instead of std::remove_cvref_t.
+ (expected::transform_error): Likewise.
+ (expected<cv void, E>::transform): Likewise.
+ (expected<cv void, E>::transform_error): Likewise.
+ * include/std/optional (transform): Use std::remove_cv_t.
+ * testsuite/20_util/optional/monadic/pr109340.cc: New test.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-29 Jonathan Wakely <jwakely@redhat.com>
- * doc/doxygen/user.cfg.in (PREDEFINED): Expand new macros to
- nothing.
- * include/bits/c++config (_GLIBCXX_BEGIN_INLINE_ABI_NAMESPACE)
- (_GLIBCXX_END_INLINE_ABI_NAMESPACE): Define new macros.
- * include/bits/algorithmfwd.h (_V2::__rotate): Use new macros
- for the namespace.
- * include/bits/chrono.h (chrono::_V2::system_clock): Likewise.
- * include/bits/stl_algo.h (_V2::__rotate): Likewise.
- * include/std/condition_variable (_V2::condition_variable_any):
- Likewise.
- * include/std/system_error (_V2::error_category): Likewise.
+ * include/std/optional (optional): Adjust static assertion to
+ reject arrays and functions as well as references.
+ * testsuite/20_util/optional/requirements_neg.cc: New test.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-28 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/mofunc_impl.h: Fix doxygen command.
+ PR libstdc++/103387
+ * include/bits/istream.tcc (istream::_M_extract(ValueT&)): Use
+ std::use_facet instead of cached _M_num_get facet.
+ (istream::operator>>(short&)): Likewise.
+ (istream::operator>>(int&)): Likewise.
+ * include/bits/ostream.tcc (ostream::_M_insert(ValueT)): Use
+ std::use_facet instead of cached _M_num_put facet.
-2022-05-13 Jonathan Wakely <jwakely@redhat.com>
+2023-03-28 Jonathan Wakely <jwakely@redhat.com>
- * doc/doxygen/user.cfg.in (GROUP_NESTED_COMPOUNDS): Set to NO.
- (CLASS_DIAGRAMS): Remove obsolete option.
+ * include/bits/char_traits.h (char_traits::copy): Return without
+ using memcpy if n==0.
+ (char_traits::assign): Likewise for memset.
-2022-05-12 Jonathan Wakely <jwakely@redhat.com>
+2023-03-28 Jonathan Wakely <jwakely@redhat.com>
- * config/locale/dragonfly/numeric_members.cc: Remove whitespace.
- * config/locale/gnu/numeric_members.cc: Likewise.
- * include/bits/locale_facets_nonio.h: Likewise.
- * libsupc++/typeinfo: Likewise.
+ PR libstdc++/109299
+ * include/bits/basic_string.h (basic_string::_M_is_local()): Add
+ hint for compiler that local strings fit in the local buffer.
-2022-05-10 Jonathan Wakely <jwakely@redhat.com>
+2023-03-28 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/105284
- * include/std/iosfwd: Add declarations for <spanstream> class
- templates and typedefs.
- * include/std/spanstream (basic_spanbuf, basic_ispanstream)
- (basic_ospanstream, basic_spanstream): Remove default template
- arguments.
- * testsuite/27_io/headers/iosfwd/synopsis.cc: Add <spanstream>
- declarations.
- * testsuite/27_io/headers/iosfwd/types.cc: Check <spanstream>
- default arguments.
-
-2022-05-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105284
- * include/std/iosfwd: Add declarations for <synstream> class
- templates and typedefs.
- * include/std/syncstream (basic_syncbuf, basic_osyncstream):
- Remove default template arguments.
- * testsuite/27_io/headers/iosfwd/synopsis.cc: New test.
- * testsuite/27_io/headers/iosfwd/types.cc: New test.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.tcc (operator==): Only check
- normal_distribution::_M_saved_available once.
- * testsuite/26_numerics/random/normal_distribution/operators/equal.cc:
- Check equality after state changes.
- * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
- lineno.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105502
- * include/bits/random.tcc
- (operator>>(basic_istream<C,T>&, normal_distribution<R>&)):
- Update state when __state_avail is false.
- * testsuite/26_numerics/random/normal_distribution/operators/serialize.cc:
- Check that deserialized object equals serialized one.
-
-2022-05-06 Alexandre Oliva <oliva@adacore.com>
-
- * include/experimental/bits/simd.h [__ALTIVEC__]: Require VSX
- for double, long long, and 64-bit long intrinsic types.
- [__ALTIVEC__] (__intrinsic_type): Mention 128-bit in
- preexisting long double diagnostic, adjust no-VSX double
- diagnostic to cover 64-bit long double as well.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104731
- * testsuite/27_io/filesystem/iterators/error_reporting.cc:
- Use a trailing char array as storage for dirent::d_name.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace: Do not include <cxxabi.h>.
- (__cxa_demangle): Declare.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99871
- * include/bits/specfun.h: Use visibility attribute on namespace,
- instead of pragma push/pop.
- * libsupc++/compare: Likewise.
- * libsupc++/exception: Likewise.
- * libsupc++/exception.h: Likewise.
- * libsupc++/exception_ptr.h: Likewise.
- * libsupc++/initializer_list: Likewise.
- * libsupc++/nested_exception.h: Likewise.
-
-2022-05-06 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/test.xml: Remove requirement for copyright and
- GPL notice in tests.
- * doc/html/manual/test.html: Regenerate.
-
-2022-05-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/memory_resource [!__cpp_rtti]
- (__resource_adaptor_imp::do_is_equal): Do not use dynamic_cast
- when RTTI is disabled.
- * testsuite/17_intro/freestanding.cc: Require RTTI.
- * testsuite/18_support/exception/38732.cc: Likewise.
- * testsuite/18_support/exception_ptr/rethrow_exception.cc:
+ PR libstdc++/109288
+ * include/std/chrono (__detail::__get_leap_second_info): Update
+ expiry date of hardcoded leapseconds list.
+ * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds()):
Likewise.
- * testsuite/18_support/nested_exception/68139.cc: Likewise.
- * testsuite/18_support/nested_exception/rethrow_if_nested.cc:
- Likewise.
- * testsuite/18_support/type_info/103240.cc: Likewise.
- * testsuite/18_support/type_info/fundamental.cc: Likewise.
- * testsuite/18_support/type_info/hash_code.cc: Likewise.
- * testsuite/20_util/any/assign/emplace.cc: Likewise.
- * testsuite/20_util/any/cons/in_place.cc: Likewise.
- * testsuite/20_util/any/misc/any_cast.cc: Likewise.
- * testsuite/20_util/any/observers/type.cc: Likewise.
- * testsuite/20_util/function/1.cc: Likewise.
- * testsuite/20_util/function/2.cc: Likewise.
- * testsuite/20_util/function/3.cc: Likewise.
- * testsuite/20_util/function/4.cc: Likewise.
- * testsuite/20_util/function/5.cc: Likewise.
- * testsuite/20_util/function/6.cc: Likewise.
- * testsuite/20_util/function/7.cc: Likewise.
- * testsuite/20_util/function/8.cc: Likewise.
- * testsuite/20_util/polymorphic_allocator/resource.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/1.cc: Likewise.
- * testsuite/20_util/shared_ptr/casts/rval.cc: Likewise.
- * testsuite/20_util/shared_ptr/cons/unique_ptr_deleter_ref_2.cc:
- Likewise.
- * testsuite/20_util/shared_ptr/misc/get_deleter.cc: Likewise.
- * testsuite/20_util/typeindex/comparison_operators.cc: Likewise.
- * testsuite/20_util/typeindex/comparison_operators_c++20.cc:
- Likewise.
- * testsuite/20_util/typeindex/hash.cc: Likewise.
- * testsuite/20_util/typeindex/hash_code.cc: Likewise.
- * testsuite/20_util/typeindex/name.cc: Likewise.
- * testsuite/22_locale/ctype/is/string/89728_neg.cc: Likewise.
- * testsuite/22_locale/global_templates/standard_facet_hierarchies.cc:
- Likewise.
- * testsuite/22_locale/global_templates/user_facet_hierarchies.cc:
- Likewise.
- * testsuite/22_locale/locale/13630.cc: Check type without using
- RTTI.
- * testsuite/23_containers/array/requirements/non_default_constructible.cc:
- Require RTTI.
- * testsuite/27_io/basic_ostream/emit/1.cc: Likewise.
- * testsuite/27_io/fpos/14320-1.cc: Check type without using RTTI.
- * testsuite/27_io/fpos/mbstate_t/12065.cc: Require RTTI.
- * testsuite/27_io/ios_base/failure/dual_abi.cc: Likewise.
- * testsuite/experimental/any/misc/any_cast.cc: Likewise.
- * testsuite/experimental/any/observers/type.cc: Likewise.
- * testsuite/experimental/memory_resource/resource_adaptor.cc:
- Likewise.
- * testsuite/lib/libstdc++.exp (check_effective_target_rtti):
- Define new proc.
- * testsuite/tr1/3_function_objects/function/1.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/2.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/3.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/4.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/5.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/6.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/7.cc: Likewise.
- * testsuite/tr1/3_function_objects/function/8.cc: Likewise.
- * testsuite/tr2/bases/value.cc: Likewise.
- * testsuite/tr2/direct_bases/value.cc: Likewise.
- * testsuite/util/exception/safety.h [!__cpp_rtti]: Don't print
- types without RTTI.
-
-2022-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104719
- * include/std/array (array::size(), array::max_size())
- (array::empty(), array::data()): Add always_inline attribute.
-
-2022-05-04 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104719
- * include/std/array (__array_traits::_S_ref): Remove.
- (__array_traits::_S_ptr): Remove.
- (__array_traits<T, 0>::_Type): Define operator[] and operator T*
- to provide an array-like API.
- (array::_AT_Type): Remove public typeef.
- (array::operator[], array::at, array::front, array::back): Use
- index operator to access _M_elems instead of _S_ref.
- (array::data): Use implicit conversion from _M_elems to pointer.
- (swap(array&, array&)): Use __enable_if_t helper.
- (get<I>): Use index operator to access _M_elems.
- * testsuite/23_containers/array/tuple_interface/get_neg.cc:
- Adjust dg-error line numbers.
-
-2022-05-03 Alexandre Oliva <oliva@adacore.com>
-
- PR c++/105324
- * testsuite/20_util/from_chars/pr105324.cc: Guard test body
- with conditional for floating-point overloads of from_char.
-
-2022-05-02 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/103911
- * src/c++17/floating_from_chars.cc (find_end_of_float): Accept
- two delimeters for the exponent part in the form of a possibly
- NULL string of length two. Don't use std::tolower.
- (pattern): Adjust calls to find_end_of_float accordingly.
-
-2022-05-02 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/105441
- * src/c++17/floating_from_chars.cc (__floating_from_chars_hex):
- Also accept 'P' as the start of the exponent.
- * testsuite/20_util/from_chars/7.cc: Add corresponding testcase.
-
-2022-04-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105417
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt:
- Regenerate.
- * src/c++11/compatibility-ldbl-alt128.cc [_GLIBCXX_USE_DUAL_ABI]:
- Define __gnu_ieee128::num_get<C>::_M_extract_int[abi:cxx11]<I>
- symbols as aliases for corresponding symbols without abi-tag.
+ * src/c++20/tzdata.zi: Import new file from 2023a release.
+ * testsuite/std/time/time_zone/get_info_local.cc: Only check
+ transitions for Egypt up to 2014.
-2022-04-29 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+2023-03-28 Matthias Kretz <m.kretz@gsi.de>
- * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
- * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
- Likewise.
- * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
- * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
- Likewise.
+ * include/experimental/bits/simd.h (is_simd_flag_type): New.
+ (_IsSimdFlagType): New.
+ (copy_from, copy_to, load ctors): Constrain _Flags using
+ _IsSimdFlagType.
-2022-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/99290
- * src/c++17/fs_ops.cc (fs::copy): Pass error_code to
- directory_iterator constructor, and check on each iteration.
- * src/filesystem/ops.cc (fs::copy): Likewise.
- * testsuite/27_io/filesystem/operations/copy.cc: Check for
- errors during recursion.
- * testsuite/experimental/filesystem/operations/copy.cc:
- Likewise.
+2023-03-28 Matthias Kretz <m.kretz@gsi.de>
-2022-04-28 François Dumont <fdumont@gcc.gnu.org>
+ * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
+ _Base::_S_divides if the optimized _S_divides function is hidden
+ via the preprocessor.
- * config/abi/pre/gnu-versioned-namespace.ver: Remove
- std::random_device::* pattern.
+2023-03-27 Jakub Jelinek <jakub@redhat.com>
-2022-04-27 Jakub Jelinek <jakub@redhat.com>
+ * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
+ warning if size_t is not unsigned long.
- * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
- * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/32/baseline_symbols.txt: Update.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-27 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/shared_ptr_atomic.h (atomic::operator=(nullptr_t)):
+ Add overload, as per LWG 3893.
+ * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
+ Check assignment from nullptr.
- * python/libstdcxx/v6/printers.py (SharedPointerPrinter): Add
- support for atomic<shared_ptr<T>> and atomic<weak_ptr<T>>.
- (StdAtomicPrinter): New printer.
- (build_libstdcxx_dictionary): Register new printer.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Test std::atomic.
- * testsuite/libstdc++-prettyprinters/cxx20.cc: Test atomic smart
- pointers.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-26 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/format (formatter<const charT[N], charT>): Do not
+ define partial speclialization, as per LWG 3833.
+ * testsuite/std/format/formatter/requirements.cc: Check it.
- * include/bits/shared_ptr_atomic.h (atomic<shared_ptr>): Add
- constructor for constant initialization from nullptr_t.
- * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
- Check for new constructor.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-26 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/utility (__cpp_lib_constexpr_algorithms): Define,
+ as per LWG 3792.
+ * testsuite/20_util/exchange/constexpr.cc: Check for it.
- * include/bits/fs_path.h (hash<filesystem::path>): Define.
- * testsuite/27_io/filesystem/path/nonmember/hash_value.cc:
- Check std::hash specialization.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-25 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/version (__cpp_lib_format): Define.
+ * testsuite/std/format/functions/format.cc: Check it.
- * include/bits/ptr_traits.h (__cpp_lib_constexpr_memory): Define
- conditionally.
- * include/bits/unique_ptr.h (__cpp_lib_constexpr_memory):
- Define for C++23.
- (default_delete, default_delete<T[]>, __uniq_ptr_impl)
- (unique_ptr, unique_ptr<T[], D>): Add constexpr to all member
- functions.
- * include/std/version (__cpp_lib_constexpr_memory): Define new
- value for C++23.
- * testsuite/20_util/unique_ptr/assign/constexpr.cc: New test.
- * testsuite/20_util/unique_ptr/comparison/constexpr.cc: New test.
- * testsuite/20_util/unique_ptr/cons/constexpr_c++20.cc: New test.
- * testsuite/20_util/unique_ptr/creation/constexpr.cc: New test.
- * testsuite/20_util/unique_ptr/modifiers/constexpr.cc: New test.
- * testsuite/20_util/unique_ptr/specialized_algorithms/constexpr.cc:
- New test.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-25 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/basic_string.tcc (basic_string::resize_and_overwrite):
+ Pass rvalues to the callback, as now allowed by LWG 3645.
+ Enforce preconditions on the return value.
+ * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc:
+ Adjust.
- PR libstdc++/105375
- * include/std/future (packaged_task): Add deduction guides.
- * testsuite/30_threads/packaged_task/cons/deduction.cc: New test.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-25 Philipp Fent <fent@in.tum.de>
+ * include/std/format: Add a comment noting that the resolution
+ of LWG 3720 has been applied..
- * python/libstdcxx/v6/printers.py (StdSpanPrinter._iterator):
- Rename as iterator.
- (StdInitializerListPrinter): Define new printer.
- (build_libstdcxx_dictionary): Register new printer.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Check printer for
- initializer_list.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-22 Thomas W Rodgers <trodgers@redhat.com>
+ * include/bits/regex.h (match_results): Add allocator-extended
+ copy and move constructors, as per LWG 2195.
+ * testsuite/28_regex/match_results/ctors/char/alloc.cc: New test.
- PR libstdc++/102994
- * include/bits/atomic_base.h (atomic_flag::notify_one,
- notify_all): Remove const qualification.
- (__atomic_base::notify_one, notify_all): Likewise.
- * include/std/atomic (atomic<bool>::notify_one, notify_all):
- Likewise.
- (atomic::notify_one, notify_all): Likewise.
- (atomic<T*>::notify_one, notify_all): Likewise.
- (atomic_notify_one, atomic_notify_all): Likewise.
- * testsuite/29_atomics/atomic/wait_notify/102994.cc: Adjust test
- to account for change in notify_one/notify_all signature.
+2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-2022-04-21 Patrick Palka <ppalka@redhat.com>
+ * include/bits/stream_iterator.h (istream_iterator): Add
+ constexpr to copy constructor, as per LWG 3600.
+ * testsuite/24_iterators/istream_iterator/cons/constexpr.cc:
+ Check copy construction.
- * include/std/charconv (__from_chars_alnum_to_val_table):
- Simplify initialization of __lower/__upper_letters.
- (__from_chars_alnum_to_val): Default the template parameter to
- false.
- * src/c++17/floating_from_chars.cc (starts_with_ci): Don't
- assume the uppercase and lowercase letters are contiguous.
- (__floating_from_chars_hex): Likewise.
+2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-2022-04-21 Patrick Palka <ppalka@redhat.com>
+ * include/experimental/bits/simd_x86.h
+ (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
+ with __RECIPROCAL_MATH__.
- PR c++/105297
- PR c++/105322
- * include/std/charconv (__from_chars_alnum_to_val): Make
- initializer for __table dependent in an artificial way.
+2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-2022-04-21 Jonathan Wakely <jwakely@redhat.com>
+ * include/experimental/bits/simd_detail.h: Don't define
+ _GLIBCXX_SIMD_WORKAROUND_PR90993 for Clang.
+ * include/experimental/bits/simd_x86.h (_S_divides): Remove
+ check for __clang__.
- PR libstdc++/105324
- * src/c++17/floating_from_chars.cc (buffer_resource::do_allocate):
- Remove assertion.
- * testsuite/20_util/from_chars/pr105324.cc: New test.
+2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-2022-04-20 Jonathan Wakely <jwakely@redhat.com>
+ * include/experimental/bits/simd_detail.h: Don't declare the
+ simd API as constexpr with Clang.
+ * include/experimental/bits/simd_x86.h (__movm): New.
+ (_S_blend_avx512): Resolve FIXME. Implement blend using __movm
+ and ?:.
+ (_SimdImplX86::_S_masked_unary): Clang does not implement the
+ same builtins. Implement the function using __movm, ?:, and -
+ operators on vector_size types instead.
- * testsuite/21_strings/basic_string_view/operations/copy/char/constexpr.cc:
- Check correct feature test macro.
+2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-2022-04-20 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
+ define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
- PR libstdc++/93602
- * doc/xml/manual/prerequisites.xml: Document libiconv
- workarounds.
- * doc/html/manual/setup.html: Regenerate.
- * src/Makefile.am (CXXLINK): Add $(LTLIBICONV).
- * src/Makefile.in: Regenerate.
+2023-03-20 Jonathan Wakely <jwakely@redhat.com>
-2022-04-19 Patrick Palka <ppalka@redhat.com>
+ * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
+ formatting.
- * src/c++17/floating_to_chars.cc (_GLIBCXX_ASSERTIONS): Don't
- define.
- (__floating_to_chars_shortest): Add __builtin_unreachable calls to
- squelch false-positive -Wmaybe-uninitialized and -Wreturn-type
- warnings.
- (__floating_to_chars_precision): Likewise.
+2023-03-20 Marek Polacek <polacek@redhat.com>
-2022-04-19 Philipp Fent <fent@in.tum.de>
+ PR c++/109159
+ * testsuite/20_util/pair/cons/explicit_construct.cc: Adjust dg-error.
+ * testsuite/20_util/tuple/cons/explicit_construct.cc: Likewise.
+ * testsuite/23_containers/span/explicit.cc: Likewise.
- * python/libstdcxx/v6/printers.py (StdSpanPrinter): Define.
- * testsuite/libstdc++-prettyprinters/cxx20.cc: Test it.
+2023-03-20 Jonathan Wakely <jwakely@redhat.com>
-2022-04-19 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/109182
+ * include/std/expected (expected<void>::expected(in_place_t)):
+ Remove template-head.
- * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Fix shell operators.
- * configure: Regenerate.
+2023-03-18 Jonathan Wakely <jwakely@redhat.com>
-2022-04-18 Patrick Palka <ppalka@redhat.com>
-
- * include/std/charconv (__from_chars_pow2_base): Manually
- unroll the first iteration of the main loop and simplify
- accordingly.
-
-2022-04-15 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/104858
- * include/bits/ranges_algo.h (__minmax_fn): Avoid dereferencing
- __first twice at the start.
- * testsuite/25_algorithms/minmax/constrained.cc (test06): New test.
-
-2022-04-15 Patrick Palka <ppalka@redhat.com>
-
- * include/std/charconv (__from_chars_alnum_to_val_table): Define.
- (__from_chars_alnum_to_val): Define.
- (__from_chars_binary): Rename to ...
- (__from_chars_pow2_base): ... this. Generalize to handle any
- power-of-two base using __from_chars_alnum_to_val.
- (__from_chars_digit): Optimize digit recognition to a single
- test instead of two tests. Use [[__unlikely___]] attribute.
- (__from_chars_alpha_to_num): Remove.
- (__from_chars_alnum): Use __from_chars_alnum_to_val. Use a
- nested loop for the overflow case. Maintain a lower bound
- on the number of available bits in the result and use it to
- omit the overflow check.
- (from_chars): Adjust appropriately.
- * src/c++17/floating_from_chars.cc (ascii_to_hexit): Remove.
- (__floating_from_chars_hex): Use __from_chars_alnum_to_val
- to recognize a hex digit instead.
-
-2022-04-14 Palmer Dabbelt <palmer@rivosinc.com>
-
- * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Force auto to mutex
- for RISC-V.
- * configure: Regenerate.
+ PR libstdc++/109165
+ * testsuite/18_support/coroutines/hash.cc: Use const object
+ in second call.
-2022-04-14 Jonathan Wakely <jwakely@redhat.com>
+2023-03-17 Jonathan Wakely <jwakely@redhat.com>
- * doc/xml/manual/intro.xml: Fix comment.
+ PR libstdc++/109165
+ * include/std/coroutine (hash<>::operator()): Add const.
+ * testsuite/18_support/coroutines/hash.cc: New test.
-2022-04-14 Jonathan Wakely <jwakely@redhat.com>
+2023-03-14 Patrick Palka <ppalka@redhat.com>
- * include/precompiled/stdc++.h: Include <stacktrace> and
- <stdatomic.h> for C++23.
+ PR libstdc++/109111
+ * include/std/ranges (repeat_view): Remove redundant parentheses
+ in requires-clause.
+ (repeat_view::_Iterator): Correct the requires-clause.
-2022-04-14 Jonathan Wakely <jwakely@redhat.com>
+2023-03-14 Patrick Palka <ppalka@redhat.com>
- PR libstdc++/105269
- * include/bits/stl_vector.h (__cpp_lib_constexpr_vector):
+ * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
Define.
- * include/c_compatibility/stdatomic.h (__cpp_lib_stdatomic_h):
- Define.
- * include/std/optional (__cpp_lib_optional): Define new value
- for C++23.
- (__cpp_lib_monadic_optional): Remove.
- * include/std/version (__cpp_lib_constexpr_vector): Define.
- (__cpp_lib_stdatomic_h): Define.
- (__cpp_lib_optional): Define new value for C++23.
- (__cpp_lib_monadic_optional): Remove.
- * testsuite/20_util/optional/monadic/and_then.cc: Adjust.
- * testsuite/20_util/optional/requirements.cc: Adjust for C++23.
- * testsuite/20_util/optional/version.cc: Likewise.
- * testsuite/23_containers/vector/cons/constexpr.cc: Check
- feature test macro.
- * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc:
- Likewise.
- * testsuite/20_util/optional/monadic/version.cc: Removed.
- * testsuite/23_containers/vector/requirements/version.cc: New test.
- * testsuite/29_atomics/headers/stdatomic.h/version.cc: New test.
+ (__cpp_lib_move_iterator_concept): Define for C++20.
+ (move_iterator::iterator_concept): Strengthen as per P2520R0.
+ * include/std/version (__cpp_lib_move_iterator_concept): Define
+ for C++20.
+ * testsuite/24_iterators/move_iterator/p2520r0.cc: New test.
-2022-04-12 Jonathan Wakely <jwakely@redhat.com>
+2023-03-14 Patrick Palka <ppalka@redhat.com>
- * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Check for mmap.
- * config.h.in: Regenerate.
- * configure: Regenerate.
+ * include/bits/ranges_util.h (view_interface::empty): Add
+ preferred overloads that use ranges::size when the range is
+ sized as per LWG 3715.
+ * testsuite/std/ranges/adaptors/lwg3715.cc: New test.
-2022-04-12 Jonathan Wakely <jwakely@redhat.com>
+2023-03-14 Jonathan Wakely <jwakely@redhat.com>
- * include/std/stacktrace (basic_stacktrace::current): Reallocate
- a smaller container if the unused capacity is larger than the
- used size.
+ * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
+ Only define for C++17 and later.
-2022-04-12 Jonathan Wakely <jwakely@redhat.com>
+2023-03-14 Jonathan Wakely <jwakely@redhat.com>
- * include/std/stacktrace (basic_stacktrace): Use _Impl::_M_clone
- or _Impl::_M_assign to initialize elements in allocated storage.
- (basic_stacktrace::_M_clear()): Use _Impl::_M_resize instead of
- _Impl::_M_destroy.
- (basic_stacktrace::_Impl::_M_destroy()): Replace with ...
- (basic_stacktrace::_Impl::_M_resize(size_type, allocator&)): New
- function.
- (basic_stacktrace::_Impl::_M_push_back): Use _M_xclone. Construct
- new element using allocator.
- (basic_stacktrace::_Impl::_M_clone): New function.
- (basic_stacktrace::_Impl::_M_xclone): New function.
- (basic_stacktrace::_Impl::_M_assign): New function.
-
-2022-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
- Use nothrow new instead of try block for std::allocator.
- (basic_stacktrace::_Impl::_M_deallocate): Use delete for
- std::allocator.
-
-2022-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (basic_stacktrace::current): Replace
- calls to _M_reserve and _S_curr_cb with call to _M_prepare.
- Check return value of backtrace_simple when max depth given.
- (basic_stacktrace::_M_reserve): Remove.
- (basic_stacktrace::_S_curr_cb): Remove.
- (basic_stacktrace::_M_prepare(size_type)): New function to
- reserve initial capacity and return callback.
- (basic_stacktrace::_Impl::_M_allocate): Remove check for 0 < n
- and remove redundant zeroing of _M_frames and _M_capacity.
- (basic_stacktrace::_Impl::_M_push_back): Add [[unlikely]]
- attribute. Assign _Impl instead of swapping.
- * testsuite/19_diagnostics/stacktrace/current.cc: New test.
-
-2022-04-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate):
- Change [[unlikely]] attribute to [[likely]].
-
-2022-04-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105031
- * include/std/stacktrace (basic_stacktrace::basic_stacktrace):
- Fix allocator usage in constructors.
- (basic_stacktrace::operator=(const basic_stacktrace&)): Do not
- try to reallocate using const allocator.
- (basic_stacktrace::operator=(basic_stacktrace&&)): Fix
- if-constexpr with non-constant condition. Do not allocate new
- storage if allocator propagates. Do not set _M_size if
- allocation fails.
- (basic_stacktrace::swap(basic_stacktrace&)): Fix typo. Add
- assertion that non-propagating allocators are equal.
- * testsuite/19_diagnostics/stacktrace/stacktrace.cc: New test.
-
-2022-04-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/stacktrace (basic_stacktrace::current): Duplicate
- implementation into each overload. Add noinline attribute and
- skip current frame.
- (basic_stacktrace::max_size()): Call _Impl::_S_max_size.
- (basic_stacktrace::_S_curr_cb()): New function defining lambda.
- (basic_stacktrace::_Impl::_S_max_size): New function defining
- maximum size in terms of allocator and size_type.
- (basic_stacktrace::_Impl::_M_allocate): Check against
- max_size().
- * testsuite/19_diagnostics/stacktrace/entry.cc: Call function
- for non-constexpr checks. Check line number is correct.
-
-2022-04-11 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/stacktrace/entry.cc: Moved to...
- * testsuite/19_diagnostics/stacktrace/entry.cc: ...here.
- * testsuite/20_util/stacktrace/synopsis.cc: Moved to...
- * testsuite/19_diagnostics/stacktrace/synopsis.cc: ...here.
- * testsuite/20_util/stacktrace/version.cc: Moved to...
- * testsuite/19_diagnostics/stacktrace/version.cc: ...here.
-
-2022-04-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/bits/fs_path.h (path): Define special
- members after path::_Cmpt is complete.
-
-2022-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105153
- * include/std/expected
- (expected<void,E>::expected(expected<U,G>&&)): Fix constraints.
- * testsuite/20_util/expected/cons.cc: Check constructor.
-
-2022-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105154
- * include/std/expected (expected<void, E>::swap): Set
- _M_has_value to false for objects that previously had a value.
- * testsuite/20_util/expected/swap.cc: Fix test to check void
- specialization.
-
-2022-04-08 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105146
- * include/std/expected (bad_expected_access): Move constructor
- parameter.
- * testsuite/20_util/expected/bad.cc: New test.
-
-2022-04-07 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/20_util/expected/requirements.cc: Correct minimal-size
- test.
+ * src/Makefile.am: Add comment about linker script fragments.
+ * src/Makefile.in: Regenerate.
-2022-04-02 Jakub Jelinek <jakub@redhat.com>
+2023-03-14 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/62196
+ * include/bits/mask_array.h (mask_array): Add assertions to
+ assignment operators.
+ * include/std/valarray (valarray::operator[](valarray<bool>)):
+ Add assertions.
+ * testsuite/26_numerics/valarray/mask-1_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-2_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-3_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-4_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-5_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-6_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-7_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask-8_neg.cc: New test.
+ * testsuite/26_numerics/valarray/mask.cc: New test.
+
+2023-03-13 Jakub Jelinek <jakub@redhat.com>
- PR libstdc++/105128
- * include/std/source_location (std::source_location::__impl): Move
- definition before using __builtin_ret_type.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
-2022-04-01 Jonathan Wakely <jwakely@redhat.com>
+2023-03-13 Jonathan Wakely <jwakely@redhat.com>
- * include/std/utility (unreachable): Define for C++23.
- * include/std/version (__cpp_lib_unreachable): Define.
- * src/c++11/debug.cc (__glibcxx_assert_fail): Check for valid
- arguments. Handle only the function being given.
- * testsuite/20_util/unreachable/1.cc: New test.
- * testsuite/20_util/unreachable/version.cc: New test.
+ * doc/Makefile.am: Add comment referring to documentation.
+ * doc/Makefile.in: Regenerate.
-2022-04-01 Jonathan Wakely <jwakely@redhat.com>
+2023-03-13 Jonathan Wakely <jwakely@redhat.com>
- * include/experimental/bits/fs_fwd.h (copy_file): Remove
- incorrect noexcept from declaration.
- * include/experimental/bits/fs_path.h (path::begin, path::end):
- Add noexcept to declarations, to match definitions.
+ * doc/html/*: Regenerate.
-2022-04-01 Timm Bäder <tbaeder@redhat.com>
+2023-03-13 Jonny Grant <jg@jguk.org>
- * include/bits/fs_ops.h: Fix filename in Doxygen comment.
- * include/experimental/bits/fs_ops.h: Likewise.
+ * doc/xml/faq.xml: Update copyright year.
-2022-03-31 Jonathan Wakely <jwakely@redhat.com>
+2023-03-13 Jonathan Wakely <jwakely@redhat.com>
- * libsupc++/new_opa.cc (aligned_alloc): Add comment.
+ * include/bits/allocator.h: Fix typo in comment.
-2022-03-29 Jonathan Wakely <jwakely@redhat.com>
+2023-03-12 Jakub Jelinek <jakub@redhat.com>
- * testsuite/18_support/exception/38732.cc: Disable for C++23.
- * testsuite/18_support/headers/exception/synopsis.cc: Likewise.
- * testsuite/18_support/unexpected_handler.cc: Likewise.
+ * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
+ if it isn't mangled as DF16b but u6__bf16.
-2022-03-29 Jonathan Wakely <jwakely@redhat.com>
+2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
- * libsupc++/compare (_Strong_order) [!__cpp_using_enum]: Add
- static data members for _Fp_fmt enumerators.
+ * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
+ to https.
+ * doc/html/manual/documentation_hacking.html: Regenerate.
-2022-03-29 Jonathan Wakely <jwakely@redhat.com>
+2023-03-10 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/109064
+ * python/libstdcxx/v6/xmethods.py (SharedPtrUseCountWorker):
+ Remove self-recursion in __init__. Add missing _supports.
+ * testsuite/libstdc++-xmethods/shared_ptr.cc: Check use_count()
+ and unique().
+
+2023-03-09 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges
+ (cartesian_product_view::_Iterator::_Iterator): Remove
+ constraint on default constructor as per LWG 3849.
+ (cartesian_product_view::_Iterator::_M_prev): Adjust position
+ of _Nm > 0 test as per LWG 3820.
+ (cartesian_product_view::_Iterator::_M_advance): Perform bounds
+ checking only on sized cartesian products.
+ * testsuite/std/ranges/cartesian_product/1.cc (test08): New test.
+
+2023-03-09 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/109024
+ * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per
+ LWG 3796.
+ (repeat_view::_M_pred): Likewise.
+ * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test.
+ * testsuite/std/ranges/repeat/1.cc (test05): New test.
+
+2023-03-09 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/108362
+ * include/std/ranges (__detail::__can_single_view): New concept.
+ (_Single::operator()): Constrain it. Move [[nodiscard]] to the
+ end of the function declarator.
+ (__detail::__can_iota_view): New concept.
+ (_Iota::operator()): Constrain it. Move [[nodiscard]] to the
+ end of the function declarator.
+ (__detail::__can_istream_view): New concept.
+ (_Istream::operator()): Constrain it. Move [[nodiscard]] to the
+ end of the function declarator.
+ * testsuite/std/ranges/iota/iota_view.cc (test07): New test.
+ * testsuite/std/ranges/istream_view.cc (test08): New test.
+ * testsuite/std/ranges/single_view.cc (test07): New test.
+
+2023-03-09 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/107572
+ * include/std/ranges (cartesian_product_view::end): When
+ building the tuple of iterators, avoid calling ranges::begin on
+ the first range if __empty_tail is false.
+ * testsuite/std/ranges/cartesian_product/1.cc (test07): New test.
+
+2023-03-09 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108882
+ * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
+ patterns.
+
+2023-03-07 Jakub Jelinek <jakub@redhat.com>
- * include/std/version (__cpp_lib_variant): Fix conditions to
- match <variant>.
- (__cpp_lib_expected): Fix condition to match <expected>.
+ * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update.
+ * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
+ * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update.
-2022-03-28 Jonathan Wakely <jwakely@redhat.com>
+2023-03-07 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/20_util/optional/monadic/and_then.cc: Fix typo.
- * testsuite/20_util/optional/monadic/transform.cc: Likewise.
- * testsuite/22_locale/codecvt/always_noconv/char/1.cc: Likewise.
- * testsuite/22_locale/codecvt/encoding/char/1.cc: Likewise.
- * testsuite/22_locale/codecvt/in/char/1.cc: Likewise.
- * testsuite/22_locale/codecvt/max_length/char/1.cc: Likewise.
- * testsuite/22_locale/codecvt/out/char/1.cc: Likewise.
- * testsuite/22_locale/codecvt/unshift/char/1.cc: Likewise.
+ PR libstdc++/108882
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Adjust patterns to
+ not match symbols in namespace std::__gnu_cxx11_ieee128.
+ * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add patterns for
+ std::__gnu_cxx11_ieee128::money_{get,put}.
-2022-03-27 Jonathan Wakely <jwakely@redhat.com>
+2023-03-07 Jonathan Wakely <jwakely@redhat.com>
- * doc/doxygen/user.cfg.in: Add new header.
- * include/Makefile.am: Likewise.
- * include/Makefile.in: Regenerate.
- * include/precompiled/stdc++.h: Add new header.
- * include/std/version (__cpp_lib_expected): Define.
- * libsupc++/exception [__cplusplus > 202002] (unexpected)
- (unexpected_handler, set_unexpected): Do not declare for C++23.
- * include/std/expected: New file.
- * testsuite/20_util/expected/assign.cc: New test.
- * testsuite/20_util/expected/cons.cc: New test.
- * testsuite/20_util/expected/illformed_neg.cc: New test.
- * testsuite/20_util/expected/observers.cc: New test.
- * testsuite/20_util/expected/requirements.cc: New test.
- * testsuite/20_util/expected/swap.cc: New test.
- * testsuite/20_util/expected/synopsis.cc: New test.
- * testsuite/20_util/expected/unexpected.cc: New test.
- * testsuite/20_util/expected/version.cc: New test.
-
-2022-03-25 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/bit (bit_cast, byteswap, endian): Add doxygen
- comments.
-
-2022-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105027
- * include/std/bit (bit_cast): Add constraints.
- * testsuite/26_numerics/bit/bit.cast/105027.cc: New test.
-
-2022-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/version [!_GLIBCXX_HOSTED]
- (__cpp_lib_hardware_interference_size): Define for freestanding.
- (__cpp_lib_bit_cast): Likewise.
- (__cpp_lib_is_layout_compatible): Likewise.
- (__cpp_lib_is_pointer_interconvertible): Likewise.
- (__cpp_lib_adaptor_iterator_pair_constructor): Do not define for
- freestanding.
- (__cpp_lib_invoke_r): Likewise.
- (__cpp_lib_ios_noreplace): Likewise.
- (__cpp_lib_monadic_optional): Likewise.
- (__cpp_lib_move_only_function): Likewise.
- (__cpp_lib_spanstream): Likewise.
- (__cpp_lib_stacktrace): Likewise.
- (__cpp_lib_string_contains): Likewise.
- (__cpp_lib_string_resize_and_overwrite): Likewise.
- (__cpp_lib_to_underlying): Likewise.
-
-2022-03-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105021
- * include/bits/atomic_base.h [!_GLIBCXX_HOSTED]: Do not include
- <bits/atomic_wait.h> for freestanding.
-
-2022-03-22 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/20_util/from_chars/6.cc (test01) [FE_DOWNWARD]:
- Conditionalize call to fesetround.
-
-2022-03-21 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/104990
- * include/bits/locale_facets_nonio.tcc (get): Don't check if do_get
- isn't overloaded if __clang__ is defined.
-
-2022-03-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104242
- * include/std/any (any(T&&)): Revert change to constraints.
- * testsuite/20_util/any/cons/104242.cc: New test.
-
-2022-03-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/92546
- * include/pstl/glue_algorithm_defs.h: Replace <functional> with
- <bits/stl_pair.h>.
- * include/pstl/utils.h: Replace <iterator> with <type_traits>.
- (__pstl::__internal::__except_handler): Use std::__terminate
- instead of std::terminate.
- * src/c++17/fs_path.cc: Include <array>.
- * testsuite/25_algorithms/adjacent_find/constexpr.cc: Include
- <functional>.
- * testsuite/25_algorithms/binary_search/constexpr.cc: Likewise.
- * testsuite/25_algorithms/clamp/constrained.cc: Likewise.
- * testsuite/25_algorithms/equal/constrained.cc: Likewise.
- * testsuite/25_algorithms/for_each/constrained.cc: Likewise.
- * testsuite/25_algorithms/includes/constrained.cc: Likewise.
- * testsuite/25_algorithms/is_heap/constexpr.cc: Likewise.
- * testsuite/25_algorithms/is_heap_until/constexpr.cc: Likewise.
- * testsuite/25_algorithms/is_permutation/constrained.cc: Include
- <iterator>.
- * testsuite/25_algorithms/is_sorted/constexpr.cc: Include
- <functional>.
- * testsuite/25_algorithms/is_sorted_until/constexpr.cc:
- Likewise.
- * testsuite/25_algorithms/lexicographical_compare/constexpr.cc:
- Likewise.
- * testsuite/25_algorithms/lexicographical_compare/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/lexicographical_compare_three_way/1.cc:
- Include <array>.
- * testsuite/25_algorithms/lower_bound/constexpr.cc: Include
- <functional>.
- * testsuite/25_algorithms/max/constrained.cc: Likewise.
- * testsuite/25_algorithms/max_element/constrained.cc: Likewise.
- * testsuite/25_algorithms/min/constrained.cc: Likewise.
- * testsuite/25_algorithms/min_element/constrained.cc: Likewise.
- * testsuite/25_algorithms/minmax_element/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/mismatch/constexpr.cc: Likewise.
- * testsuite/25_algorithms/move/93872.cc: Likewise.
- * testsuite/25_algorithms/move_backward/93872.cc: Include
- <iterator>.
- * testsuite/25_algorithms/nth_element/constexpr.cc: Include
- <functional>.
- * testsuite/25_algorithms/partial_sort/constexpr.cc: Likewise.
- * testsuite/25_algorithms/partial_sort_copy/constexpr.cc:
- Likewise.
- * testsuite/25_algorithms/search/constexpr.cc: Likewise.
- * testsuite/25_algorithms/search_n/constrained.cc: Likewise.
- * testsuite/25_algorithms/set_difference/constexpr.cc: Likewise.
- * testsuite/25_algorithms/set_difference/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/set_intersection/constexpr.cc:
- Likewise.
- * testsuite/25_algorithms/set_intersection/constrained.cc:
- Likewise.
- * testsuite/25_algorithms/set_symmetric_difference/constexpr.cc:
- Likewise.
- * testsuite/25_algorithms/set_union/constexpr.cc: Likewise.
- * testsuite/25_algorithms/set_union/constrained.cc: Likewise.
- * testsuite/25_algorithms/sort/constexpr.cc: Likewise.
- * testsuite/25_algorithms/sort_heap/constexpr.cc: Likewise.
- * testsuite/25_algorithms/transform/constrained.cc: Likewise.
- * testsuite/25_algorithms/unique/constexpr.cc: Likewise.
- * testsuite/25_algorithms/unique/constrained.cc: Likewise.
- * testsuite/25_algorithms/unique_copy/constexpr.cc: Likewise.
- * testsuite/25_algorithms/upper_bound/constexpr.cc: Likewise.
- * testsuite/std/ranges/adaptors/elements.cc: Include <vector>.
- * testsuite/std/ranges/adaptors/lazy_split.cc: Likewise.
- * testsuite/std/ranges/adaptors/split.cc: Likewise.
+ * libsupc++/eh_personality.cc: Fix spelling in comment.
-2022-03-17 Jonathan Wakely <jwakely@redhat.com>
+2023-03-03 Alexandre Oliva <oliva@adacore.com>
- PR libstdc++/92546
- * include/bits/fs_path.h (path::make_preferred): Use
- handwritten loop instead of std::replace.
+ * testsuite/30_threads/async/async.cc (test04): Initialize
+ steady_start, renamed from steady_begin, next to slow_start.
+ Increase tolerance for final wait.
-2022-03-17 Jonathan Wakely <jwakely@redhat.com>
+2023-03-03 Alexandre Oliva <oliva@adacore.com>
- PR middle-end/104966
- * include/bits/locale_facets_nonio.tcc
- (__moneypunct_cache::_M_cache): Replace try-catch with RAII and
- make all string copies before any stores to *this.
+ * testsuite/libstdc++-prettyprinters/80276.cc: Add
+ std::string to debug info.
+ * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
-2022-03-17 Jonathan Wakely <jwakely@redhat.com>
+2023-03-03 Alexandre Oliva <oliva@adacore.com>
- * testsuite/util/testsuite_character.h: Fix comment.
+ PR libstdc++/104852
+ PR libstdc++/95989
+ PR libstdc++/52590
+ * include/bits/std_thread.h (thread::_M_thread_deps): New
+ static implicitly-inline member function.
+ (std::thread template ctor): Pass it to _M_start_thread.
+ * src/c++11/thread.cc (thread::_M_start_thread): Name depend
+ parameter, force it live on entry.
-2022-03-16 Jonathan Wakely <jwakely@redhat.com>
+2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- PR libstdc++/103407
- * config/abi/pre/gnu.ver: Make version for std::from_chars
- depend on HAVE_USELOCALE macro.
- * testsuite/util/testsuite_abi.cc (compare_symbols): Treat
- std::from_chars for floating-point types as undesignated if
- not found in the baseline symbols file.
+ * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate.
+ * config/abi/post/i386-solaris/amd64/baseline_symbols.txt:
+ Likewise.
+ * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise.
+ * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt:
+ Likewise.
-2022-03-16 Jonathan Wakely <jwakely@redhat.com>
+2023-03-01 Jonathan Wakely <jwakely@redhat.com>
- * include/std/charconv (__cpp_lib_to_chars): Only define when
- both from_chars and to_chars are supported for floating-point
- types.
- (from_chars, to_chars): Adjust preprocessor conditions guarding
- declarations.
- * include/std/version (__cpp_lib_to_chars): Adjust condition to
- match <charconv> definition.
- * src/c++17/floating_from_chars.cc (from_chars_strtod): New
- function template.
- (from_chars): Simplify preprocessor checks and use
- from_chars_strtod when appropriate.
+ * include/bits/cow_string.h: Fix typo in comment.
-2022-03-14 Jonathan Wakely <jwakely@redhat.com>
+2023-03-01 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104875
- * src/c++11/codecvt.cc (read_utf8_code_point): Use char32_t to
- hold octets that will be left-shifted.
+ * src/c++20/tzdb.cc (chrono::tzdb::current_zone()) Use "UTC" if
+ current time zone cannot be determined.
+ * testsuite/std/time/tzdb/1.cc: Remove conditions based on
+ HAVE_TZDB macro and test all members unconditionally.
-2022-03-10 Jonathan Wakely <jwakely@redhat.com>
+2023-02-28 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104870
- * src/c++17/floating_from_chars.cc: Check __SIZE_WIDTH__ >= 32
- before using fast_float.
+ PR libstdc++/108952
+ * include/bits/uses_allocator_args.h
+ (uses_allocator_construction_args): Implement LWG 3527.
+ * testsuite/20_util/pair/astuple/get-2.cc: New test.
+ * testsuite/20_util/scoped_allocator/108952.cc: New test.
+ * testsuite/20_util/uses_allocator/lwg3527.cc: New test.
+
+2023-02-28 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108846
+ * include/bits/stl_algobase.h (__copy_move<false, false, RA>)
+ Add __assign_one static member function.
+ (__copy_move<true, false, RA>): Likewise.
+ (__copy_move<IsMove, true, RA>): Do not use memmove for a single
+ value.
+ (__copy_move_backward<IsMove, true, RA>): Likewise.
+ * testsuite/25_algorithms/copy/108846.cc: New test.
+ * testsuite/25_algorithms/copy_backward/108846.cc: New test.
+ * testsuite/25_algorithms/copy_n/108846.cc: New test.
+ * testsuite/25_algorithms/move/108846.cc: New test.
+ * testsuite/25_algorithms/move_backward/108846.cc: New test.
+
+2023-02-28 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++11/codecvt.cc: Add [[likely]] and [[unlikely]]
+ attributes.
-2022-03-10 Detlef Vollmann <dv@vollmann.ch>
+2023-02-27 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/basic_ios.h (basic_ios::_M_setstate): Add
+ caveat to comment.
+ * include/bits/basic_string.h (resize_and_overwrite): Add
+ doxygen comment.
+
+2023-02-24 Matthias Kretz <m.kretz@gsi.de>
+
+ * include/experimental/bits/simd.h: Line breaks and indenting
+ fixed to follow the libstdc++ standard.
+ * include/experimental/bits/simd_builtin.h: Likewise.
+ * include/experimental/bits/simd_fixed_size.h: Likewise.
+ * include/experimental/bits/simd_neon.h: Likewise.
+ * include/experimental/bits/simd_ppc.h: Likewise.
+ * include/experimental/bits/simd_scalar.h: Likewise.
+ * include/experimental/bits/simd_x86.h: Likewise.
+
+2023-02-24 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/108030
+ * include/experimental/bits/simd_fixed_size.h
+ (_SimdImplFixedSize::_S_broadcast): Replace inline with
+ _GLIBCXX_SIMD_INTRINSIC.
+ (_SimdImplFixedSize::_S_generate): Likewise.
+ (_SimdImplFixedSize::_S_load): Likewise.
+ (_SimdImplFixedSize::_S_masked_load): Likewise.
+ (_SimdImplFixedSize::_S_store): Likewise.
+ (_SimdImplFixedSize::_S_masked_store): Likewise.
+ (_SimdImplFixedSize::_S_min): Likewise.
+ (_SimdImplFixedSize::_S_max): Likewise.
+ (_SimdImplFixedSize::_S_complement): Likewise.
+ (_SimdImplFixedSize::_S_unary_minus): Likewise.
+ (_SimdImplFixedSize::_S_plus): Likewise.
+ (_SimdImplFixedSize::_S_minus): Likewise.
+ (_SimdImplFixedSize::_S_multiplies): Likewise.
+ (_SimdImplFixedSize::_S_divides): Likewise.
+ (_SimdImplFixedSize::_S_modulus): Likewise.
+ (_SimdImplFixedSize::_S_bit_and): Likewise.
+ (_SimdImplFixedSize::_S_bit_or): Likewise.
+ (_SimdImplFixedSize::_S_bit_xor): Likewise.
+ (_SimdImplFixedSize::_S_bit_shift_left): Likewise.
+ (_SimdImplFixedSize::_S_bit_shift_right): Likewise.
+ (_SimdImplFixedSize::_S_remquo): Add inline keyword (to be
+ explicit about not always-inline, yet).
+ (_SimdImplFixedSize::_S_isinf): Likewise.
+ (_SimdImplFixedSize::_S_isfinite): Likewise.
+ (_SimdImplFixedSize::_S_isnan): Likewise.
+ (_SimdImplFixedSize::_S_isnormal): Likewise.
+ (_SimdImplFixedSize::_S_signbit): Likewise.
+
+2023-02-24 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/108856
+ * include/experimental/bits/simd_builtin.h
+ (_SimdImplBuiltin::_S_masked_unary): More efficient
+ implementation of masked inc-/decrement for integers and floats
+ without AVX2.
+ * include/experimental/bits/simd_x86.h
+ (_SimdImplX86::_S_masked_unary): New. Use AVX512 masked subtract
+ builtins for masked inc-/decrement.
+
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/executor (executor): Constrain template
+ constructors.
+
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/internet (basic_endpoint): Add missing
+ constexpr to comparison operators.
+ * testsuite/experimental/net/internet/endpoint/cons.cc: New test.
+
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/experimental/internet (network_v4::netmask()): Avoid
+ undefined shift.
+ (network_v4::broadcast()): Optimize and fix for targets with
+ uint_least32_t wider than 32 bits.
+ (network_v4::to_string(const Allocator&)): Fix for custom
+ allocators and optimize using to_chars.
+ (operator==(const network_v4&, const network_v4&)): Add missing
+ constexpr.
+ (operator==(const network_v6&, const network_v6&)): Likewise.
+ * testsuite/experimental/net/internet/network/v4/cons.cc: New test.
+ * testsuite/experimental/net/internet/network/v4/members.cc: New test.
- PR libstdc++/104866
- * include/bits/this_thread_sleep.h: Fix order of #endif and
- closing brace of namespace.
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
-2022-03-10 Jonathan Wakely <jwakely@redhat.com>
+ * include/experimental/internet (address_4(const bytes_type&)):
+ Use __builtin_bit_cast if available, otherwise convert to
+ network byte order.
+ (address_v4::to_bytes()): Likewise, but convert from network
+ byte order.
+ * testsuite/experimental/net/internet/address/v4/cons.cc: Fix
+ incorrect tests. Check for constexpr too.
+ * testsuite/experimental/net/internet/address/v4/creation.cc:
+ Likewise.
+ * testsuite/experimental/net/internet/address/v4/members.cc:
+ Check that bytes_type is a standard-layout type.
- * libsupc++/compare (_Strong_order::_S_fp_cmp) [__vax__]:
- Handle NaN.
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
-2022-03-10 Jonathan Wakely <jwakely@redhat.com>
+ * include/experimental/internet (address_v4::to_string):
+ Optimize.
+ * testsuite/experimental/net/internet/address/v4/members.cc:
+ Check more addresses.
- * libsupc++/compare (_Strong_ordering::_S_fp_cmp) [__vax__]: Use
- <=> comparison.
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
-2022-03-09 Patrick Palka <ppalka@redhat.com>
+ * include/ext/aligned_buffer.h (__aligned_buffer): Add
+ diagnostic pragmas.
- PR libstdc++/104859
- * src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
- Be explicit when narrowing the shifted effective_mantissa,
- since it may have an integer-class type.
+2023-02-24 Jonathan Wakely <jwakely@redhat.com>
-2022-03-08 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
+ before dg-do.
- * include/bits/uses_allocator_args.h: Remove incorrect copyright
- notice.
+2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-2022-03-07 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/experimental/simd/tests/reductions.cc: Introduce
+ max_distance as the type-dependent max error.
- PR libstdc++/104807
- * include/bits/c++config (__terminate, __glibcxx_assert_fail):
- Replace _GLIBCXX_VISIBILITY on function with visibility pragma.
- (__is_constant_evaluated): Add visibility pragma.
+2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-2022-03-07 Rasmus Villemoes <rasmus.villemoes@prevas.dk>
+ * include/experimental/bits/simd_builtin.h (_S_set): Compare as
+ int. The actual range of these indexes is very small.
- * config/locale/vxworks/ctype_members.cc: Remove <iostream>
- include.
+2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-2022-03-05 Jonathan Wakely <jwakely@redhat.com>
+ * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
+ (_S_bit_shift_right): Declare constexpr. The implementation was
+ already expecting constexpr evaluation.
- * include/bits/c++config (__glibcxx_assert_fail): Add visibility
- attribute.
- (__terminate): Likewise.
+2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-2022-03-04 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108030
+ * include/experimental/bits/simd_detail.h
+ (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
+ __clang__.
- * libsupc++/compare (strong_order::_S_fp_cmp): Move typedef
- inside #if condition.
+2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-2022-03-03 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108030
+ * include/experimental/bits/simd.h (__vector_broadcast):
+ Implement via __vector_broadcast_impl instead of
+ __call_with_n_evaluations + 2 lambdas.
+ (__vector_broadcast_impl): New.
- PR libstdc++/104748
- * testsuite/std/ranges/adaptors/all.cc: Use non-debug vector for
- constexpr test.
+2023-02-22 Alexandre Oliva <oliva@adacore.com>
-2022-03-03 Jonathan Wakely <jwakely@redhat.com>
+ * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
+ Avoid destruction of the mutex pool.
- * testsuite/17_intro/names.cc (func): Undef on AIX.
+2023-02-22 Alexandre Oliva <oliva@adacore.com>
-2022-03-03 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
+ on vxworks.
+ * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
+ Likewise.
- PR libstdc++/96526
- * libsupc++/compare (strong_order): Add missing support for
- floating-point types.
- * testsuite/18_support/comparisons/algorithms/strong_order_floats.cc:
- New test.
+2023-02-22 Alexandre Oliva <oliva@adacore.com>
-2022-03-01 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
+ kernel mode.
- PR middle-end/103984
- * include/bits/regex_compiler.h (_BracketMatcher::_M_char): Use
- default member initializer.
+2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
-2022-02-24 Jonathan Wakely <jwakely@redhat.com>
+ * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
- PR libstdc++/104602
- * include/std/source_location (source_location::current): Use
- deduced type of __builtin_source_location().
+2023-02-20 Matthias Kretz <m.kretz@gsi.de>
-2022-02-22 Patrick Palka <ppalka@redhat.com>
+ * include/experimental/bits/simd.h (__extract_part, split):
+ Use reserved name for template parameter.
- * include/bits/ranges_base.h (__detail::__is_initializer_list):
- Define.
- (viewable_range): Adjust as per P2415R2.
- * include/bits/ranges_cmp.h (__cpp_lib_ranges): Adjust value.
- * include/std/ranges (owning_view): Define as per P2415R2.
- (enable_borrowed_range<owning_view>): Likewise.
- (views::__detail::__can_subrange): Replace with ...
- (views::__detail::__can_owning_view): ... this.
- (views::_All::_S_noexcept): Sync with operator().
- (views::_All::operator()): Use owning_view instead of subrange
- as per P2415R2.
- * include/std/version (__cpp_lib_ranges): Adjust value.
- * testsuite/std/ranges/adaptors/all.cc (test06): Adjust now that
- views::all uses owning_view instead of subrange.
- (test08): New test.
- * testsuite/std/ranges/adaptors/lazy_split.cc (test09): Adjust
- now that rvalue non-view non-borrowed ranges are viewable.
- * testsuite/std/ranges/adaptors/split.cc (test06): Likewise.
-
-2022-02-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104559
- * doc/xml/manual/evolution.xml: Document deprecation.
- * doc/html/manual/api.html: Regenerate.
- * include/bits/stl_bvector.h (insert(const_iterator, const bool&)):
- Remove default argument.
- (insert(const_iterator)): New overload with deprecated attribute.
- * testsuite/23_containers/vector/bool/modifiers/insert/104559.cc:
- New test.
+2023-02-20 Andreas Schwab <schwab@suse.de>
-2022-02-17 Jonathan Wakely <jwakely@redhat.com>
+ * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
- * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Replace
- code that call cat->name() on std::error_category objects.
- Identify known categories by symbol name and use a hardcoded
- name. Print error code values as enumerators where appopriate.
- * testsuite/libstdc++-prettyprinters/cxx11.cc: Adjust expected
- name of custom category. Check io_errc and future_errc errors.
+2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
-2022-02-15 Jonathan Wakely <jwakely@redhat.com>
+ * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
+ * doc/html/faq.html: Regenerate.
- PR libstdc++/104542
- * include/bits/uses_allocator_args.h (make_obj_using_allocator)
- (uninitialized_construct_using_allocator): Add constexpr.
- * testsuite/20_util/uses_allocator/make_obj.cc: Check constexpr.
- * testsuite/20_util/uses_allocator/uninitialized_construct.cc: New test.
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ * include/experimental/bits/simd_math.h (__hypot): Bitcasting
+ between scalars requires the __bit_cast helper function instead
+ of simd_bit_cast.
+
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ * include/experimental/bits/simd_x86.h
+ (_SimdImplX86::_S_not_equal_to, _SimdImplX86::_S_less)
+ (_SimdImplX86::_S_less_equal): Do not call
+ __builtin_is_constant_evaluated in constexpr-if.
+
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ * testsuite/experimental/simd/tests/bits/verify.h
+ (verify::verify): Use %zx for size_t in format string.
+
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ * testsuite/experimental/simd/generate_makefile.sh: Generate and
+ pre-compile pch.h, which includes all headers that do not depend
+ on command-line macros.
+ * testsuite/experimental/simd/tests/bits/main.h: New file.
+ (iterate_abis, main): Moved from verify.h.
+ * testsuite/experimental/simd/tests/bits/verify.h
+ (iterate_abis, main): Moved to main.h.
+ * testsuite/experimental/simd/tests/bits/conversions.h: Add
+ include guard.
+ (genHalfBits): Simplify.
+ * testsuite/experimental/simd/tests/bits/make_vec.h: Add include
+ guard.
+ (make_alternating_mask): Moved from mask_loadstore.
+ * testsuite/experimental/simd/tests/bits/mathreference.h: Add
+ include guard.
+ * testsuite/experimental/simd/tests/bits/test_values.h: Ditto.
+ * testsuite/experimental/simd/tests/mask_loadstore.cc
+ (make_mask, make_alternating_mask): Removed.
+ * testsuite/experimental/simd/tests/mask_reductions.cc: Ditto.
+ * testsuite/experimental/simd/tests/operators.cc (genHalfBits):
+ Removed.
+ * testsuite/experimental/simd/tests/abs.cc: Only include
+ bits/main.h.
+ Ditto.
+ * testsuite/experimental/simd/tests/algorithms.cc: Ditto.
+ * testsuite/experimental/simd/tests/broadcast.cc: Ditto.
+ * testsuite/experimental/simd/tests/casts.cc: Ditto.
+ * testsuite/experimental/simd/tests/fpclassify.cc: Ditto.
+ * testsuite/experimental/simd/tests/frexp.cc: Ditto.
+ * testsuite/experimental/simd/tests/generator.cc: Ditto.
+ * testsuite/experimental/simd/tests/hypot3_fma.cc: Ditto.
+ * testsuite/experimental/simd/tests/integer_operators.cc: Ditto.
+ * testsuite/experimental/simd/tests/ldexp_scalbn_scalbln_modf.cc:
+ * testsuite/experimental/simd/tests/loadstore.cc: Ditto.
+ * testsuite/experimental/simd/tests/logarithm.cc: Ditto.
+ * testsuite/experimental/simd/tests/mask_broadcast.cc: Ditto.
+ * testsuite/experimental/simd/tests/mask_conversions.cc: Ditto.
+ * testsuite/experimental/simd/tests/mask_implicit_cvt.cc: Ditto.
+ * testsuite/experimental/simd/tests/mask_operator_cvt.cc: Ditto.
+ * testsuite/experimental/simd/tests/mask_operators.cc: Ditto.
+ * testsuite/experimental/simd/tests/math_1arg.cc: Ditto.
+ * testsuite/experimental/simd/tests/math_2arg.cc: Ditto.
+ * testsuite/experimental/simd/tests/operator_cvt.cc: Ditto.
+ * testsuite/experimental/simd/tests/reductions.cc: Ditto.
+ * testsuite/experimental/simd/tests/remqo.cc: Ditto.
+ * testsuite/experimental/simd/tests/simd.cc: Ditto.
+ * testsuite/experimental/simd/tests/sincos.cc: Ditto.
+ * testsuite/experimental/simd/tests/split_concat.cc: Ditto.
+ * testsuite/experimental/simd/tests/splits.cc: Ditto.
+ * testsuite/experimental/simd/tests/trigonometric.cc: Ditto.
+ * testsuite/experimental/simd/tests/trunc_ceil_floor.cc: Ditto.
+ * testsuite/experimental/simd/tests/where.cc: Ditto.
+
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ * testsuite/experimental/simd/README.md: Document the timeout
+ and timeout-factor directives. Minor typo fixed.
+
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
+
+ PR libstdc++/108030
+ * include/experimental/bits/simd_detail.h: Define
+ _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
+ * include/experimental/bits/simd.h: Annotate lambdas with
+ _GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA.
+ * include/experimental/bits/simd_builtin.h: Ditto.
+ * include/experimental/bits/simd_converter.h: Ditto.
+ * include/experimental/bits/simd_fixed_size.h: Ditto.
+ * include/experimental/bits/simd_math.h: Ditto.
+ * include/experimental/bits/simd_neon.h: Ditto.
+ * include/experimental/bits/simd_x86.h: Ditto.
-2022-02-14 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Matthias Kretz <m.kretz@gsi.de>
- PR libstdc++/100912
- * config/locale/gnu/c_locale.h (__convert_from_v): Use inline
- namespace for IEEE128 long double mode.
- * config/os/gnu-linux/ldbl-ieee128-extra.ver: Add new symbol
- version and export __gnu_cxx_ieee128::__convert_from_v.
- * include/bits/locale_facets_nonio.tcc (money_put::__do_put):
- Make __ibm128 overload use snprintf directly
- * testsuite/util/testsuite_abi.cc: Add new symbol version.
- Remove stable IEEE128/LDBL versions.
+ * include/experimental/bits/simd.h
+ (_SimdWrapper::_M_is_constprop_none_of)
+ (_SimdWrapper::_M_is_constprop_all_of): Return false unless the
+ computed result still satisfies __builtin_constant_p.
-2022-02-14 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/103891
- * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
- Remove.
- * include/std/variant: Check feature test macros instead.
- * include/std/version: Likewise.
+ * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
+ ellipsis character.
-2022-02-14 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
- Fix typo.
+ * include/Makefile.am: Add new header.
+ * include/Makefile.in: Regenerate.
+ * include/experimental/synchronized_value: New file.
+ * testsuite/experimental/synchronized_value.cc: New test.
-2022-02-14 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/floating_to_chars.cc (FLOAT128_TO_CHARS): Depend on
- LONG_DOUBLE_ALT128_COMPAT instead of USE_FLOAT128.
+ * include/experimental/optional: Fix header name in comment.
-2022-02-11 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/20_util/temporary_buffer.cc: Fix dg-warning target
- selector.
+ * include/std/format (__format::_Arg_store): New class template.
+ (basic_format_args): Remove nested type _Store and add deduction
+ guide from _Arg_store.
+ (basic_format_arg, make_format_args): Adjust.
+ * testsuite/std/format/arguments/lwg3810.cc: New test.
-2022-02-11 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * testsuite/20_util/monotonic_buffer_resource/allocate.cc:
- Ignore -Walloc-larger-than warning.
- * testsuite/20_util/unsynchronized_pool_resource/allocate.cc:
- Likewise.
- * testsuite/29_atomics/atomic/cons/user_pod.cc: Compile with -O1
- to avoid linker error for __atomic_is_lock_free.
+ * include/bits/stl_pair.h (pair) [C++20]: Add non-dangling
+ constraints to constructors and add deleted overloads for the
+ dangling cases, as per P2255R2.
+ (pair) [!C++20 && _GLIBCXX_DEBUG]: Add static assertions to
+ make dangling cases ill-formed.
+ * testsuite/20_util/pair/dangling_ref.cc: New test.
-2022-02-10 Thomas Rodgers <rodgert@appliantology.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/atomic_wait.h (__waiter_base::_S_do_spin,
- __waiter_base::_S_do_spin_v): Change memory order from relaxed
- to acquire.
+ * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
-2022-02-10 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * include/c_compatibility/stdatomic.h (atomic_fetch_xor): Add
- using-declaration.
- (atomic_fetch_xor_explicit): Likewise.
- * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Check
- arithmetic and logical operations for atomic_int.
+ * include/ext/throw_allocator.h: Use reserved names for
+ parameters.
-2022-02-10 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * src/filesystem/dir-common.h (_GLIBCXX_HAVE_DIRFD): Undefine
- when <dirent.h> is not available.
- (_GLIBCXX_HAVE_UNLINKAT): Likewise.
+ * testsuite/17_intro/names_pstl.cc: Add space after effective
+ target name.
-2022-02-09 Thomas Rodgers <rodgert@appliantology.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104442
- * include/bits/atomic_wait.h (__waiter::_M_do_wait_v): Move spin
- loop inside do loop so that threads failing the wait, reload
- _M_ver.
+ * include/pstl/algorithm_fwd.h (__pattern_search_n)
+ (__brick_unique_copy, __brick_adjacent_find)
+ (__brick_generate_n, __pattern_generate_n): Use reserved names
+ for parameters.
+ * include/pstl/algorithm_impl.h (__brick_unique_copy)
+ (__pattern_reverse, __brick_generate_n): Likewise.
+ * include/pstl/execution_impl.h (__prefer_unsequenced_tag)
+ (__prefer_parallel_tag): Likewise.
+ * include/pstl/glue_algorithm_impl.h (transform): Likewise.
+ * include/pstl/glue_numeric_defs.h (adjacent_difference):
+ Likewise.
+ * include/pstl/numeric_impl.h (__brick_adjacent_difference):
+ Likewise.
+ * include/pstl/parallel_backend_tbb.h (__merge_func): Likewise.
+ * include/pstl/unseq_backend_simd.h (_Combiner)
+ (__simd_min_element, __simd_minmax_element): Likewise.
+ * testsuite/17_intro/names_pstl.cc: New test.
-2022-02-08 Jonathan Wakely <jwakely@redhat.com>
+2023-02-16 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/fs_dir.cc (_Dir(DIR*, const path&)): Change first
- parameter to _Dir_base&&.
- * src/filesystem/dir-common.h (_Dir_base(DIR*)): Remove.
- * src/filesystem/dir.cc (_Dir(DIR*, const path&)): Change first
- parameter to _Dir_base&&.
+ * include/bits/fs_ops.h (create_directory): Use reserved name
+ for parameter.
+ * include/bits/ranges_algo.h (__contains_subrange_fn):
+ Likewise.
+ * include/bits/regex_automaton.h (_State_base::_M_print):
+ Likewise.
+ * include/bits/regex_automaton.tcc(_State_base::_M_print):
+ Likewise.
+ * include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
+ * include/experimental/bits/fs_ops.h (create_directory):
+ Likewise.
+ * include/std/mutex (timed_mutex::_M_clocklock): Likewise.
+ (recursive_timed_mutex:_M_clocklock): Likewise.
+ * include/std/tuple (basic_common_reference): Likewise.
+ * libsupc++/cxxabi_init_exception.h
+ (__cxa_init_primary_exception): Likewise.
+ * testsuite/17_intro/names.cc: Add checks.
-2022-02-08 Jonathan Wakely <jwakely@redhat.com>
+2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
- * acinclude.m4 (GLIBCXX_ENABLE_LOCK_POLICY): Add comment about
- checking for CAS on correct word size.
+ * doc/xml/manual/status_cxx2017.xml: Update an open-std.org link
+ to www.open-std.org and https.
+ * doc/html/manual/status.html: Regenerate.
-2022-02-08 Jonathan Wakely <jwakely@redhat.com>
+2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
- * testsuite/experimental/filesystem/operations/create_directories.cc:
- Adjust expected results for Windows.
+ PR libstdc++/103934
+ * include/std/atomic (atomic_flag_wait): Add.
+ (atomic_flag_wait_explicit): Add.
+ (atomic_flag_notify): Add.
+ (atomic_flag_notify_explicit): Add.
+ * testsuite/29_atomics/atomic_flag/wait_notify/1.cc:
+ Add test case to cover missing atomic_flag free functions.
-2022-02-08 Jonathan Wakely <jwakely@redhat.com>
+2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
- PR libstdc++/104161
- * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::__erase):
- [i_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Refresh entry._M_type member,
- instead of checking for errno values indicating a directory.
- * src/c++17/fs_ops.cc (fs::remove_all(const path&)): Use similar
- logic to non-throwing overload.
- (fs::remove_all(const path&, error_code&)): Add comments.
- * src/filesystem/ops-common.h: Likewise.
+ PR libstdc++/103934
+ * include/std/atomic (atomic_flag_test): Add.
+ (atomic_flag_test_explicit): Add.
+ * testsuite/29_atomics/atomic_flag/test/explicit.cc: Add
+ test case to cover missing atomic_flag free functions.
+ * testsuite/29_atomics/atomic_flag/test/implicit.cc:
+ Likewise.
-2022-02-04 Jonathan Wakely <jwakely@redhat.com>
+2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
- * src/filesystem/dir-common.h (_Dir_base::openat): Change return
- type to use portable posix::DIR alias.
+ * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
+ "The Component Object Model" reference.
+ * doc/html/manual/policy_data_structures.html: Regenerate.
-2022-02-04 Jonathan Wakely <jwakely@redhat.com>
+2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
- * include/c_compatibility/stdatomic.h [__clang__]: Use
- #include_next <stdatomic.h>.
+ * doc/xml/manual/containers.xml: Tweak a link to N1780
+ (C++ standard).
+ * doc/html/manual/associative.html: Regenerate.
-2022-02-04 Jonathan Wakely <jwakely@redhat.com>
+2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
- * include/experimental/bits/fs_ops.h (fs::copy_file): Remove
- noexcept.
- (fs::create_directories): Likewise.
- (fs::remove_all): Likewise.
- * src/filesystem/ops.cc (fs::copy_file): Remove noexcept.
- (fs::create_directories): Likewise.
- (fs::remove_all): Likewise.
+ * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
+ * doc/html/manual/facets.html: Regenerate.
-2022-02-04 Jonathan Wakely <jwakely@redhat.com>
+2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104161
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for dirfd
- and unlinkat.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/bits/fs_dir.h (recursive_directory_iterator): Declare
- remove_all overloads as friends.
- (recursive_directory_iterator::__erase): Declare new member
- function.
- * include/bits/fs_fwd.h (remove, remove_all): Declare.
- * src/c++17/fs_dir.cc (_Dir): Add filename_only parameter to
- constructor. Pass file descriptor argument to base constructor.
- (_Dir::dir_and_pathname, _Dir::open_subdir, _Dir::do_unlink)
- (_Dir::unlink, _Dir::rmdir): Define new member functions.
- (directory_iterator): Pass filename_only argument to _Dir
- constructor.
- (recursive_directory_iterator::_Dir_stack): Adjust constructor
- parameters to take a _Dir rvalue instead of creating one.
- (_Dir_stack::orig): Add data member for storing original path.
- (_Dir_stack::report_error): Define new member function.
- (__directory_iterator_nofollow): Move here from dir-common.h and
- fix value to be a power of two.
- (__directory_iterator_filename_only): Define new constant.
- (recursive_directory_iterator): Construct _Dir object and move
- into _M_dirs stack. Pass skip_permission_denied argument to first
- advance call.
- (recursive_directory_iterator::increment): Use _Dir::open_subdir.
- (recursive_directory_iterator::__erase): Define new member
- function.
- * src/c++17/fs_ops.cc (ErrorReporter, do_remove_all): Remove.
- (fs::remove_all): Use new recursive_directory_iterator::__erase
- member function.
- * src/filesystem/dir-common.h (_Dir_base): Add int parameter to
- constructor and use openat to implement nofollow semantics.
- (_Dir_base::fdcwd, _Dir_base::set_close_on_exec, _Dir_base::openat):
- Define new member functions.
- (__directory_iterator_nofollow): Move to fs_dir.cc.
- * src/filesystem/dir.cc (_Dir): Pass file descriptor argument to
- base constructor.
- (_Dir::dir_and_pathname, _Dir::open_subdir): Define new member
- functions.
- (recursive_directory_iterator::_Dir_stack): Adjust constructor
- parameters to take a _Dir rvalue instead of creating one.
- (recursive_directory_iterator): Check for new nofollow option.
- Construct _Dir object and move into _M_dirs stack. Pass
- skip_permission_denied argument to first advance call.
- (recursive_directory_iterator::increment): Use _Dir::open_subdir.
- * src/filesystem/ops.cc (fs::remove_all): Use C++17 remove_all.
-
-2022-02-04 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocator.h: Qualify std::allocator_traits in
- deprecated warnings.
- * libsupc++/exception (uncaught_exception): Add suggestion to
- deprecated warning.
-
-2022-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/fs_dir.cc (fs::recursive_directory_iterator::pop):
- Add [[maybe_unused]] attribute.
- * src/filesystem/dir.cc (fs::recursive_directory_iterator::pop):
- Likewise.
+ * doc/xml/manual/policy_data_structures_biblio.xml: Update
+ link to "Worst-case efficient priority queues".
+ * doc/html/manual/policy_data_structures.html: Regenerate.
-2022-02-02 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Arsen Arsenović <arsen@aarsen.me>
- * testsuite/23_containers/multiset/operators/cmp_c++20.cc: Use
- custom comparison function for multiset.
- * testsuite/23_containers/set/operators/cmp_c++20.cc: Use custom
- comparison function for set.
+ * doc/xml/manual/using.xml: Document newly-freestanding
+ headers and the effect of the -ffreestanding flag.
+ * doc/xml/manual/status_cxx2023.xml: Document P1642R11 as
+ completed.
+ * doc/xml/manual/configure.xml: Document that hosted installs
+ respect __STDC_HOSTED__.
+ * doc/xml/manual/test.xml: Document how to run tests in
+ freestanding mode.
+ * doc/html/*: Regenerate.
-2022-02-02 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/boost_concept_check.h (_OutputIteratorConcept):
- Change member function to data member of function pointer type.
+ * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
+ (__find_last_if_fn): Likewise.
-2022-02-02 Martin Sebor <msebor@redhat.com>
+2023-02-06 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/101831
- * include/std/array (begin): Declare const member function attribute
- const.
- (end, rbegin, rend, size, max_size, empty, data): Same.
- * testsuite/23_containers/array/capacity/empty.cc: Add test cases.
- * testsuite/23_containers/array/capacity/max_size.cc: Same.
- * testsuite/23_containers/array/capacity/size.cc: Same.
- * testsuite/23_containers/array/iterators/begin_end.cc: New test.
+ * include/std/type_traits: Add diagnostic pragmas around
+ references to deprecated std::aligned_storage and
+ std::aligned_union traits.
+ * testsuite/20_util/aligned_storage/requirements/alias_decl.cc:
+ Add dg-warning for et c++23.
+ * testsuite/20_util/aligned_storage/requirements/explicit_instantiation.cc:
+ Likewise.
+ * testsuite/20_util/aligned_storage/value.cc: Likewise.
+ * testsuite/20_util/aligned_union/1.cc: Likewise.
+ * testsuite/20_util/aligned_union/requirements/alias_decl.cc:
+ Likewise.
-2022-02-02 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
- * testsuite/27_io/filesystem/iterators/error_reporting.cc: Use
- autoconf macro to check whether d_type is present.
- * testsuite/experimental/filesystem/iterators/error_reporting.cc:
- Likewise.
+ * doc/doxygen/user.cfg.in (PREDEFINED): Add new macros.
+ * include/bits/c++config (_GLIBCXX23_DEPRECATED)
+ (_GLIBCXX23_DEPRECATED_SUGGEST): New macros.
+ * include/std/type_traits (aligned_storage, aligned_union)
+ (aligned_storage_t, aligned_union_t): Deprecate for C++23.
+ * testsuite/20_util/aligned_storage/deprecated-2b.cc: New test.
+ * testsuite/20_util/aligned_union/deprecated-2b.cc: New test.
-2022-02-01 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
- * testsuite/27_io/filesystem/iterators/97731.cc: New test.
- * testsuite/27_io/filesystem/iterators/recursive_directory_iterator.cc:
- Check follow_directory_symlink option.
- * testsuite/experimental/filesystem/iterators/recursive_directory_iterator.cc:
- Likewise.
+ * doc/doxygen/user.cfg.in (PREDEFINED): Update macros.
+ * include/bits/c++config (_GLIBCXX20_DEPRECATED): Make
+ consistent with other 'deprecated' macros.
+ * include/std/type_traits (is_pod, is_pod_v): Use
+ _GLIBCXX20_DEPRECATED_SUGGEST instead.
-2022-02-01 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Arsen Arsenović <arsen@aarsen.me>
- * src/c++17/fs_dir.cc (recursive_directory_iterator::increment):
- Reset state to past-the-end iterator on error.
- (fs::recursive_directory_iterator::pop(error_code&)): Likewise.
- (fs::recursive_directory_iterator::pop()): Check _M_dirs before
- it might get reset.
- * src/filesystem/dir.cc (recursive_directory_iterator): Likewise,
- for the TS implementation.
- * testsuite/27_io/filesystem/iterators/error_reporting.cc: New test.
- * testsuite/experimental/filesystem/iterators/error_reporting.cc: New test.
+ * Makefile.am [!_GLIBCXX_HOSTED]: Enable src/ subdirectory.
+ * Makefile.in: Regenerate.
+ * src/Makefile.am [!_GLIBCXX_HOSTED]: Omit compatibility files.
+ There's no history to be compatible with.
+ * src/c++11/Makefile.am [!_GLIBCXX_HOSTED]: Omit hosted-only
+ source files from the build.
+ * src/c++17/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
+ * src/c++20/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
+ * src/c++98/Makefile.am [!_GLIBCXX_HOSTED]: Likewise.
+ * src/Makefile.in: Regenerate.
+ * src/c++11/Makefile.in: Regenerate.
+ * src/c++17/Makefile.in: Regenerate.
+ * src/c++20/Makefile.in: Regenerate.
+ * src/c++98/Makefile.in: Regenerate.
-2022-02-01 Jonathan Wakely <jwakely@redhat.com>
+2023-02-06 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/fs_fwd.h (filesystem::perms): Fix comment.
+ * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
+ filesystem, libbacktrace and experimental.
+ * src/Makefile.in: Regenerate.
-2022-02-01 Jonathan Wakely <jwakely@redhat.com>
+2023-02-04 Hans-Peter Nilsson <hp@axis.com>
- PR libstdc++/104301
- * acinclude.m4 (GLIBCXX_ENABLE_CSTDIO): Print different messages
- for stdio_pure and stdio_posix options.
- * configure: Regenerate.
+ PR libstdc++/108672
+ * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
+ instead of int32_t.
-2022-02-01 Thomas Rodgers <rodgert@appliantology.com>
+2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
- * include/bits/atomic_wait.h: Change memory order from
- Acquire/Release with relaxed loads to SeqCst+Release for
- accesses to the waiter's count.
+ * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
+ * doc/html/manual/documentation_hacking.html: Regenerate.
-2022-01-31 Martin Liska <mliska@suse.cz>
+2023-02-04 François Dumont <fdumont@gcc.gnu.org>
- * acinclude.m4: Detect *_ld_is_mold and use it.
- * configure: Regenerate.
+ * include/bits/basic_string.h (operator=(basic_string&&)): Transfer move-to
+ storage to the move-from instance when allocators are equal.
+ * testsuite/21_strings/basic_string/allocator/char/move_assign.cc (test04):
+ New test case.
-2022-01-30 Hans-Peter Nilsson <hp@axis.com>
+2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
- * testsuite/27_io/basic_istream/get/char/lwg3464.cc: Don't run on
- simulator targets.
- * testsuite/27_io/basic_istream/get/wchar_t/lwg3464.cc: Likewise.
+ * config/os/gnu-linux/os_defines.h [!__linux__]
+ (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
-2022-01-27 Jonathan Wakely <jwakely@redhat.com>
+2023-02-03 Patrick Palka <ppalka@redhat.com>
- PR libstdc++/100516
- * include/bits/deque.tcc (_M_range_initialize<ForwardIterator>):
- Add __builtin_unreachable to loop.
- * testsuite/23_containers/deque/100516.cc: New test.
+ * include/bits/ranges_algo.h (__find_last_fn, find_last):
+ Define.
+ (__find_last_if_fn, find_last_if): Define.
+ (__find_last_if_not_fn, find_last_if_not): Define.
+ * testsuite/25_algorithms/find_last/1.cc: New test.
+ * testsuite/25_algorithms/find_last_if/1.cc: New test.
+ * testsuite/25_algorithms/find_last_if_not/1.cc: New test.
-2022-01-27 Jonathan Wakely <jwakely@redhat.com>
+2023-02-03 Patrick Palka <ppalka@redhat.com>
- * include/bits/ranges_base.h (ranges::advance): Avoid signed
- overflow. Do nothing if already equal to desired result.
- * testsuite/24_iterators/range_operations/advance_overflow.cc:
- New test.
+ * include/bits/ranges_algo.h (out_value_result): Define.
+ (iota_result): Define.
+ (__iota_fn, iota): Define.
+ * testsuite/25_algorithms/iota/1.cc: New test.
-2022-01-27 Martin Liska <mliska@suse.cz>
+2023-02-03 Patrick Palka <ppalka@redhat.com>
- PR libstdc++/104259
- * acinclude.m4: Fix typo.
- * configure: Regenerate.
+ * include/bits/ranges_algo.h (__contains_fn, contains): Define.
+ (__contains_subrange_fn, contains_subrange): Define.
+ * testsuite/25_algorithms/contains/1.cc: New test.
+ * testsuite/25_algorithms/contains_subrange/1.cc: New test.
-2022-01-25 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104019
- * include/bits/istream.tcc (basic_istream::sentry): Add braces
- around try-block.
- * include/bits/shared_ptr_base.h (_Sp_counted_array_base::_M_init):
- Add pragmas to disable bogus warnings from PR 61596.
+ * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
+ * doc/html/manual/abi.html: Regenerate.
-2022-01-25 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104217
- * src/c++17/fs_ops.cc (_GNU_SOURCE): Define.
- * src/filesystem/dir.cc (_GNU_SOURCE): Define.
- * src/filesystem/ops.cc (_GNU_SOURCE): Define.
+ * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
+ errc::function_not_supported instead of errc::not_supported.
-2022-01-25 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104161
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for
- fdopendir.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/c++17/fs_dir.cc (_Dir): Add nofollow flag to constructor
- and pass it to base class constructor.
- (directory_iterator): Pass nofollow flag to _Dir constructor.
- (fs::recursive_directory_iterator::increment): Likewise.
- * src/c++17/fs_ops.cc (do_remove_all): Use nofollow option for
- directory_iterator constructor. Move error check outside loop.
- * src/filesystem/dir-common.h (_Dir_base): Add nofollow flag to
- constructor and when it's set use ::open with O_NOFOLLOW and
- O_DIRECTORY.
- * src/filesystem/dir.cc (_Dir): Add nofollow flag to constructor
- and pass it to base class constructor.
- (directory_iterator): Pass nofollow flag to _Dir constructor.
- (fs::recursive_directory_iterator::increment): Likewise.
- * src/filesystem/ops.cc (remove_all): Use nofollow option for
- directory_iterator constructor. Move error check outside loop.
-
-2022-01-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104032
- * include/std/spanstream (basic_spanbuf(basic_spanbuf&&)): Use
- mem-initializer for _M_buf.
- (basic_spanbuf::Operator=(basic_spanbuf&&)): Fix ill-formed
- member access.
- * testsuite/27_io/spanstream/2.cc: New test.
-
-2022-01-23 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++17/floating_from_chars.cc (USE_STRTOD_FOR_FROM_CHARS):
- Define macro for case where std::from_chars is implemented in
- terms of strtod, strtof or strtold.
- (buffer_resource, valid_fmt, find_end_of_float, pattern)
- (from_chars_impl, make_result, reserve_string): Do not define
- unless USE_STRTOD_FOR_FROM_CHARS is defined.
- (from_chars): Define when at least one of USE_LIB_FAST_FLOAT and
- USE_STRTOD_FOR_FROM_CHARS is defined, instead of
- _GLIBCXX_HAVE_USELOCALE. Use fast_float for long double when it
- is binary64.
-
-2022-01-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104174
- * include/bits/hashtable_policy.h (_Map_base): Add partial
- specialization for maps with const key types.
- * testsuite/23_containers/unordered_map/104174.cc: New test.
-
-2022-01-23 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104019
- * include/bits/shared_ptr_base.h (_Sp_counted_base<>::_M_release):
- Set members to zero without type punning.
-
-2022-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/shared_ptr/cons/array.cc: Fix comment.
-
-2022-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/87193
- PR libstdc++/104019
- * include/bits/alloc_traits.h (__cpp_lib_allocator_traits_is_always_equal):
- Define as type long.
- * include/bits/allocator.h (__cpp_lib_incomplete_container_elements):
- Likewise.
- * include/bits/basic_string.h (__cpp_lib_string_udls): Likewise.
- * include/bits/chrono.h (__cpp_lib_chrono): Likewise.
- (__cpp_lib_chrono_udls): Likewise.
- * include/bits/move.h (__cpp_lib_addressof_constexpr): Likewise.
- * include/bits/node_handle.h (__cpp_lib_node_extract): Likewise.
- * include/bits/range_access.h (__cpp_lib_nonmember_container_access):
- Likewise.
- * include/bits/shared_ptr.h (__cpp_lib_enable_shared_from_this):
- Likewise.
- * include/bits/stl_algo.h (__cpp_lib_clamp): Likewise.
- (__cpp_lib_sample): Likewise.
- * include/bits/stl_algobase.h (__cpp_lib_robust_nonmodifying_seq_ops):
- Likewise.
- * include/bits/stl_function.h (__cpp_lib_transparent_operators):
- Likewise.
- * include/bits/stl_iterator.h (__cpp_lib_make_reverse_iterator):
- Likewise.
- * include/bits/stl_map.h (__cpp_lib_map_try_emplace):
- Likewise.
- * include/bits/stl_tree.h (__cpp_lib_generic_associative_lookup):
+ * include/std/sstream (basic_stringbuf::view): Define for old
+ std::string ABI.
+ (basic_istringstream::view, basic_0stringstream::view)
+ (basic_stringstream::view): Likewise.
+ * testsuite/27_io/basic_istringstream/view/char/1.cc: Remove
+ { dg-require-effective-target cxx11_abi }.
+ * testsuite/27_io/basic_istringstream/view/wchar_t/1.cc:
Likewise.
- * include/bits/unique_ptr.h (__cpp_lib_make_unique):
+ * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
+ * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
Likewise.
- * include/bits/unordered_map.h (__cpp_lib_unordered_map_try_emplace):
+ * testsuite/27_io/basic_stringbuf/view/char/1.cc: Likewise.
+ * testsuite/27_io/basic_stringbuf/view/wchar_t/1.cc: Likewise.
+ * testsuite/27_io/basic_stringstream/view/char/1.cc: Likewise.
+ * testsuite/27_io/basic_stringstream/view/wchar_t/1.cc:
Likewise.
- * include/c_global/cmath (__cpp_lib_hypot): Likewise.
- * include/c_global/cstddef (__cpp_lib_byte): Likewise.
- * include/std/atomic (__cpp_lib_atomic_is_always_lock_free):
- Likewise.
- * include/std/complex (__cpp_lib_complex_udls): Likewise.
- * include/std/filesystem (__cpp_lib_filesystem): Likewise.
- * include/std/functional (__cpp_lib_not_fn): Likewise.
- (__cpp_lib_boyer_moore_searcher): Likewise.
- * include/std/iomanip (__cpp_lib_quoted_string_io): Likewise.
- * include/std/mutex (__cpp_lib_scoped_lock): Likewise.
- * include/std/numeric (__cpp_lib_gcd_lcm): Likewise.
- (__cpp_lib_gcd, __cpp_lib_lcm): Likewise.
- * include/std/tuple (__cpp_lib_apply): Likewise.
- (__cpp_lib_make_from_tuple): Likewise.
- * include/std/type_traits (__cpp_lib_integral_constant_callable)
- (__cpp_lib_bool_constant, __cpp_lib_logical_traits)
- (__cpp_lib_is_null_pointer, __cpp_lib_transformation_trait_aliases)
- (__cpp_lib_result_of_sfinae, __cpp_lib_void_t)
- (__cpp_lib_is_swappable, __cpp_lib_is_invocable)
- (__cpp_lib_has_unique_object_representations)
- (__cpp_lib_is_aggregate): Likewise.
- * include/std/version: Likewise.
- * libsupc++/new (__cpp_lib_launder): Likewise.
-
-2022-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/version (__cpp_lib_shared_ptr_arrays): Fix
- condition for C++17 definition.
-
-2022-01-21 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count):
- Add constexpr.
- (_Sp_atomic::_M_ptr): Add default member-initializer.
- * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc:
- Check constant initialization.
- * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: Likewise.
-2022-01-20 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Jonathan Wakely <jwakely@redhat.com>
- * src/c++11/cxx11-ios_failure.cc (__constinit): Define as
- equivalent attribute for Clang.
- * src/c++11/future.cc (__constinit): Likewise.
- * src/c++11/system_error.cc (__constinit): Likewise.
- * src/c++17/memory_resource.cc (__constinit): Likewise.
+ PR libstdc++/108636
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4.31): Export shared_ptr
+ conversion operators for directory iterator comparisons with
+ std::default_sentinel_t.
+ * include/bits/fs_path.h (path::path(string_view, _Type))
+ (path::_Cmpt::_Cmpt(string_view, _Type, size_t)): Move inline
+ definitions to ...
+ * src/c++17/fs_path.cc: ... here.
+ * testsuite/27_io/filesystem/path/108636.cc: New test.
-2022-01-20 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Jonathan Wakely <jwakely@redhat.com>
- * scripts/testsuite_flags.in: Only add src/filesystem/.libs and
- src/libbacktrace/.libs to LDFLAGS if those directories exist.
+ * include/std/variant (variant::operator=): Implement resolution
+ of LWG 3585.
+ * testsuite/20_util/variant/lwg3585.cc: New test.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
- * configure.ac (GLIBCXX_ENABLE_DEBUG_FLAGS): Remove -gdwarf-4
- from default flags.
- * configure: Regenerate.
+ * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
+ link to https.
+ * doc/html/manual/using_exceptions.html: Regenerate.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104123
- * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: Include
- <stddef.h>.
+ * doc/xml/manual/debug.xml: Fix link to online GDB manual.
+ * doc/html/manual/debug.html: Regenerate.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-02-01 Jonathan Wakely <jwakely@redhat.com>
- * scripts/testsuite_flags.in: Add src/libbacktrace/.libs to
- linker search paths.
- * src/Makefile.am: Fix src/debug/libbacktrace build.
- * src/Makefile.in: Regenerate.
- * src/libbacktrace/Makefile.am: Use per-library CPPFLAGS
- variable. Use symlinks for the source files.
- * src/libbacktrace/Makefile.in: Regenerate.
+ * src/c++11/random.cc (random_device::_M_fini): Do not try to
+ close the file handle if the target doesn't support the
+ /dev/random and /dev/urandom files.
-2022-01-19 Matthias Kretz <m.kretz@gsi.de>
+2023-02-01 Jonathan Wakely <jwakely@redhat.com>
- * include/experimental/bits/simd.h (__floating_point_flags): Do
- not rely on math_errhandling to expand to a constant expression.
+ * config/os/generic/error_constants.h (errc::value_too_large)
+ [__AVR__]: Define.
+ * src/c++11/system_error.cc
+ (system_category::default_error_condition) [__AVR__]: Only match
+ recognize values equal to EDOM, ERANGE, ENOSYS and EINTR.
+ * src/c++17/fs_ops.cc (fs::current_path) [__AVR__]: Do not check
+ for ENOENT etc. in switch.
+ (fs::remove_all) [__AVR__]: Likewise.
+ * src/filesystem/ops-common.h [__AVR__]: Do not use POSIX open,
+ close etc.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-02-01 Jonathan Wakely <jwakely@redhat.com>
- * doc/xml/manual/evolution.xml: Document deprecations.
- * doc/xml/manual/status_cxx2017.xml: Update status.
- * doc/html/*: Regenerate.
+ * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
+ embed_zoneinfo=no
+ * configure: Regenerate.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-02-01 Hans-Peter Nilsson <hp@axis.com>
- * include/bits/stl_tempbuf.h (get_temporary_buffer): Change
- _GLIBCXX14_DEPRECATED to _GLIBCXX17_DEPRECATED.
+ PR testsuite/108632
+ * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
+ struct at end of S0.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
- * include/bits/stl_pair.h (_PCC::_DeprConsPair): Remove unused
- function.
+ * doc/xml/manual/shared_ptr.xml: Move links from both
+ http://open-std.org and http://www.open-std.org to
+ https://www.open-std.org.
+ * doc/html/manual/memory.html: Regenerate.
-2022-01-19 Jonathan Wakely <jwakely@redhat.com>
+2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104101
- * include/bits/shared_ptr_atomic.h (_Sp_atomic::_Atomic_count::lock):
- Only use __thread_relax if __cpp_lib_atomic_wait is defined.
+ * doc/xml/manual/appendix_contributing.xml: Adjust link to
+ ISO C++ standard at ANSI.
+ Move link to www.open-std.org to https.
+ * doc/html/manual/appendix_contributing.html: Regenerate.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104099
- * include/bits/basic_string.h (basic_string(nullptr_t)): Only
- define for C++23.
- (operator=(nullptr_t)): Likewise.
- * include/bits/cow_string.h: Likewise.
- * include/std/string_view (basic_string_view(nullptr_t)):
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/nullptr.cc: Adjust
- expected error. Add examples that become ill-formed in C++23.
- * testsuite/21_strings/basic_string_view/cons/char/nonnull.cc:
- Adjust expected errors.
- * testsuite/21_strings/basic_string_view/cons/wchar_t/nonnull.cc:
- Likewise.
+ * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
+ links to https.
+ * doc/html/manual/documentation_hacking.html: Regenerate.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
- PR libstdc++/104098
- * include/bits/stl_iterator.h (reverse_iterator): Check
- __cpp_lib_concepts instead of __cplusplus.
+ * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
+ * doc/html/manual/abi.html: Regenerate.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-27 Jakub Jelinek <jakub@redhat.com>
- PR libstdc++/101124
- * include/bits/stl_pair.h (pair): Adjust constraints on
- deprecated constructors accepting literal zero as null pointer
- constant. Improve wording of deprecated attribute.
- * testsuite/20_util/pair/cons/99957.cc: Check that deprecated
- constructors do not cause ambiguities for copyable types.
+ PR libstdc++/108568
+ * testsuite/17_intro/names.cc (__unused): For linux or GNU hurd
+ include features.h if present and then check __GLIBC__ and
+ __GLIBC_MINOR__ macros for glibc prior to 2.19, instead of testing
+ __GLIBC_PREREQ which isn't defined yet.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-27 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/stl_function.h (ptr_fun): Fix suggestion for
- non-deprecated alternative.
+ * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
+ string literal.
-2022-01-18 Tom Honermann <tom@honermann.net>
+2023-01-27 Jonathan Wakely <jwakely@redhat.com>
- * acinclude.m4: Define config macros if uchar.h provides
- c8rtomb() and mbrtoc8().
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * include/c_compatibility/uchar.h (c8rtomb, mbrtoc8): Define.
- * include/c_global/cuchar (c8rtomb, mbrtoc8): Likewise.
- * include/c_std/cuchar (c8rtomb, mbrtoc8): Likewise.
- * testsuite/21_strings/headers/cuchar/functions_std_cxx20.cc:
- New test.
- * testsuite/21_strings/headers/cuchar/functions_std_fchar8_t.cc:
- New test.
+ PR libstdc++/108554
+ * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-26 Jonathan Wakely <jwakely@redhat.com>
- * include/Makefile.am: Install new header.
- * include/Makefile.in: Regenerate.
- * include/c_compatibility/stdatomic.h: New file.
- * testsuite/29_atomics/headers/stdatomic.h/c_compat.cc: New test.
+ * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
+ rules named "+" for compatibility with older tzdata.zi files.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-26 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104080
- * src/c++17/fast_float/LOCAL_PATCHES: Update.
- * src/c++17/fast_float/fast_float.h (FASTFLOAT_IS_BIG_ENDIAN):
- Define in terms of __BYTE_ORDER__.
+ PR libstdc++/108554
+ * include/bits/stl_tree.h (_Rb_tree_insert_and_rebalance): Add
+ nonnull attribute.
+ (_Rb_tree_rebalance_for_erase): Add nonnull and returns_nonnull
+ attributes.
+ * testsuite/23_containers/map/modifiers/108554.cc: New test.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-26 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/104080
- * src/c++17/fast_float/LOCAL_PATCHES: UPDATE.
- * src/c++17/fast_float/fast_float.h (round): Use explicit
- template argument list for std::min.
+ PR libstdc++/108530
+ * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
+ /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
- * doc/xml/manual/status_cxx2017.xml: Update C++17 status.
- * doc/xml/manual/status_cxx2020.xml: Use 12.1 instead of 12 for
- upcoming release.
- * doc/html/manual/status.html: Regenerate.
+ * doc/xml/manual/intro.xml: Update links to www.open-std.org to
+ use https.
+ * doc/html/manual/bugs.html: Regenerate.
-2022-01-18 Jonathan Wakely <jwakely@redhat.com>
+2023-01-24 Jonathan Wakely <jwakely@redhat.com>
- * acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): Improve
- comments.
- * configure: Regenerate.
+ PR libstdc++/108530
+ * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
+ /etc/sysconfig/clock.
+
+2023-01-24 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/102301
+ * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for
+ std::make_reverse_iterator.
+ * include/std/tuple: Include <bits/ranges_util.h> for subrange.
+ (make_from_tuple): Add static assertion from P2255 to diagnose
+ dangling references.
+ * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test.
+ * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test.
-2022-01-17 Patrick Palka <ppalka@redhat.com>
+2023-01-23 François Dumont <fdumont@gcc.gnu.org>
- * src/c++17/floating_from_chars.cc: (USE_LIB_FAST_FLOAT):
- Conditionally define, and use it to conditionally include
- fast_float.
- (from_chars): Use fast_float for float and double when
- USE_LIB_FAST_FLOAT.
+ * include/debug/safe_iterator.h (_Safe_iterator<>::_Unchecked): New.
+ (_Safe_iterator(const _Safe_iterator&, _Unchecked)): New.
+ (_Safe_iterator::operator++(int)): Use latter.
+ (_Safe_iterator::operator--(int)): Likewise.
+ (_Safe_iterator(_Iterator, const _Safe_sequence_base*)): Remove !_M_insular()
+ check.
+ * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::_Unchecked):
+ New.
+ (_Safe_local_iterator(const _Safe_local_iterator&, _Unchecked)): New.
+ (_Safe_local_iterator::operator++(int)): Use latter.
+ * src/c++11/debug.cc (_S_debug_messages): Add as comment the _Debug_msg_id
+ entry associated to the array entry.
-2022-01-17 Patrick Palka <ppalka@redhat.com>
+2023-01-18 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/fast_float/LOCAL_PATCHES: Update.
- * src/c++17/fast_float/fast_float.h (from_chars_advanced): In
- case of over/underflow, return errc::result_out_of_range and don't
- modify 'value'.
+ * include/bits/fs_path.h (u8path): Add deprecated attribute.
+ * testsuite/27_io/filesystem/path/construct/90281.cc: Add
+ -Wno-deprecated-declarations for C++20 and later.
+ * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc:
+ Likewise.
+ * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise.
+ * testsuite/27_io/filesystem/path/native/string.cc: Likewise.
+ * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test.
-2022-01-17 Patrick Palka <ppalka@redhat.com>
+2023-01-18 Jonathan Wakely <jwakely@redhat.com>
- * src/c++17/fast_float/LOCAL_PATCHES: Update.
- * src/c++17/fast_float/fast_float.h: Apply local modifications.
+ * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
+ Always call _M_fini and _M_getentropy.
-2022-01-17 Patrick Palka <ppalka@redhat.com>
+2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
- * src/c++17/fast_float/LOCAL_PATCHES: New file.
- * src/c++17/fast_float/MERGE: New file.
- * src/c++17/fast_float/README.md: New file, copied from the
- fast_float repository.
- * src/c++17/fast_float/fast_float.h: New file, an amalgamation
- of the fast_float library.
+ * doc/xml/manual/policy_data_structures_biblio.xml: Adjust links
+ to www.open-std.org to use https.
+ (COM: Component Model Object Technologies): Rename from...
+ (The Component Object Model): ...to.
+ * doc/html/manual/policy_data_structures.html: Regenerate.
-2022-01-17 Patrick Palka <ppalka@redhat.com>
+2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
- * src/c++17/floating_from_chars.cc: Include <bit>.
- (ascii_to_hexit, starts_with_ci): Conditionally define.
- (__floating_from_chars_hex): Conditionally define.
- (from_chars): Use __floating_from_chars_hex for
- chars_format::hex parsing of binary32/64 float/double.
- (testsuite/20_util/from_chars/7.cc): New test.
- * testsuite/20_util/from_chars/7.cc: New file.
+ * testsuite/22_locale/codecvt/codecvt_unicode.cc: Simplify.
+ * testsuite/22_locale/codecvt/codecvt_unicode.h: Simplify.
+ * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: Simplify.
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
+2023-01-17 Jonathan Wakely <jwakely@redhat.com>
- * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): New macro.
- * configure.ac: Use GLIBCXX_ENABLE_BACKTRACE.
- * include/Makefile.am: Add new header.
- * include/Makefile.in: Regenerate.
- * include/std/stacktrace: New header.
- * include/std/version (__cpp_lib_stacktrace): Define.
- * Makefile.in: Regenerate.
- * config.h.in: Regenerate.
+ * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
+ of $host. Fix check for file being present during native build.
* configure: Regenerate.
- * doc/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.am: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++17/Makefile.in: Regenerate.
- * src/c++20/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * src/filesystem/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
- * src/libbacktrace/Makefile.am: New file.
- * src/libbacktrace/Makefile.in: New file.
- * src/libbacktrace/backtrace-rename.h: New file.
- * src/libbacktrace/backtrace-supported.h.in: New file.
- * src/libbacktrace/config.h.in: New file.
- * testsuite/lib/libstdc++.exp (check_effective_target_stacktrace):
- New proc.
- * testsuite/20_util/stacktrace/entry.cc: New test.
- * testsuite/20_util/stacktrace/synopsis.cc: New test.
- * testsuite/20_util/stacktrace/version.cc: New test.
-
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2020.xml: Use final C++20 option
- names.
- * doc/html/manual/status.html: Regenerate.
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
+2023-01-17 Martin Liska <mliska@suse.cz>
- PR libstdc++/103650
- * include/Makefile.am: Rename LT_OBJDIR and STDC_HEADERS.
- * include/Makefile.in: Regenerate.
- * testsuite/17_intro/headers/c++1998/103650.cc: New test.
+ * src/libbacktrace/Makefile.in: Regenerate.
-2022-01-17 Matthias Kretz <m.kretz@gsi.de>
+2023-01-16 Jonathan Wakely <jwakely@redhat.com>
- * include/experimental/bits/simd.h (__floating_point_flags): Do
- not rely on the presence of the math_errhandling macro.
+ * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
+2023-01-16 Jonathan Wakely <jwakely@redhat.com>
- * include/bits/shared_ptr_atomic.h (_Sp_atomic): Add typename
- to qualified-id for dependent type.
+ PR libstdc++/108413
+ * include/c_compatibility/stdatomic.h: Change copyright line to
+ be consistent with other headers contributed under DCO terms.
+ * include/std/expected: Add full stop to copyright line.
+ * src/c++20/tzdb.cc: Likewise.
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
+2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
- * doc/xml/manual/status_cxx2020.xml: Update.
+ * doc/xml/manual/status_cxx2014.xml: Switch www.open-std.org to
+ https.
+ * doc/xml/manual/status_cxx2017.xml: Ditto.
+ * doc/xml/manual/status_cxx2020.xml: Ditto.
+ * doc/xml/manual/status_cxx2023.xml: Ditto.
* doc/html/manual/status.html: Regenerate.
-2022-01-17 Jonathan Wakely <jwakely@redhat.com>
- Thomas Rodgers <trodgers@redhat.com>
-
- * include/bits/shared_ptr_atomic.h (__cpp_lib_atomic_shared_ptr):
- New macro.
- (_Sp_atomic): New class template.
- (atomic<shared_ptr<T>>, atomic<weak_ptr<T>>): New partial
- specializations.
- * include/bits/shared_ptr_base.h (__shared_count, __weak_count)
- (__shared_ptr, __weak_ptr): Declare _Sp_atomic as a friend.
- * include/std/version (__cpp_lib_atomic_shared_ptr): New macro.
- * testsuite/20_util/shared_ptr/atomic/atomic_shared_ptr.cc: New
- test.
- * testsuite/20_util/weak_ptr/atomic_weak_ptr.cc: New test.
-
-2022-01-15 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h: Move feature detection bools
- and add __have_avx512bitalg, __have_avx512vbmi2,
- __have_avx512vbmi, __have_avx512ifma, __have_avx512cd,
- __have_avx512vnni, __have_avx512vpopcntdq.
- (__detail::__machine_flags): New function which returns a unique
- uint64 depending on relevant -m and -f flags.
- (__detail::__odr_helper): New type alias for either an anonymous
- type or a type specialized with the __machine_flags number.
- (_SimdIntOperators): Change template parameters from _Impl to
- _Tp, _Abi because _Impl now has an __odr_helper parameter which
- may be _OdrEnforcer from the anonymous namespace, which makes
- for a bad base class.
- (many): Either add __odr_helper template parameter or mark as
- always_inline.
- * include/experimental/bits/simd_detail.h: Add defines for
- AVX512BITALG, AVX512VBMI2, AVX512VBMI, AVX512IFMA, AVX512CD,
- AVX512VNNI, AVX512VPOPCNTDQ, and AVX512VP2INTERSECT.
- * include/experimental/bits/simd_builtin.h: Add __odr_helper
- template parameter or mark as always_inline.
- * include/experimental/bits/simd_fixed_size.h: Ditto.
- * include/experimental/bits/simd_math.h: Ditto.
- * include/experimental/bits/simd_scalar.h: Ditto.
- * include/experimental/bits/simd_neon.h: Add __odr_helper
- template parameter.
- * include/experimental/bits/simd_ppc.h: Ditto.
- * include/experimental/bits/simd_x86.h: Ditto.
+2023-01-15 Jonathan Wakely <jwakely@redhat.com>
-2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
-
- * testsuite/22_locale/numpunct/members/char/3.cc:
- Require pt_PT locale instead of nl_NL.
- (test02): Use pt_PT locale instead of nl_NL.
-
-2022-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/91260
- PR libstdc++/91383
- PR libstdc++/95065
- * include/backward/binders.h (bind1st, bind2nd): Add deprecated
- attribute.
- * include/bits/refwrap.h (_Maybe_unary_or_binary_function):
- Disable deprecated warnings for base classes.
- (_Reference_wrapper_base): Likewise.
- * include/bits/shared_ptr_base.h (_Sp_owner_less): Likewise.
- * include/bits/stl_bvector.h (_Bit_iterator_base): Likewise.
- * include/bits/stl_function.h (unary_function, binary_function):
- Add deprecated attribute.
- (unary_negate, not1, binary_negate, not2, ptr_fun)
- (pointer_to_unary_function, pointer_to_binary_function)
- (mem_fun_t, const_mem_fun_t, mem_fun_ref_t, const_mem_fun_ref_t)
- (mem_fun1_t, const_mem_fun1_t, mem_fun_ref1_t)
- (const_mem_fun1_ref_t, mem_fun, mem_fun_ref): Add deprecated
- attributes.
- * include/bits/stl_iterator.h: Disable deprecated warnings for
- std::iterator base classes.
- * include/bits/stl_iterator_base_types.h (iterator): Add
- deprecated attribute.
- * include/bits/stl_map.h (map::value_compare): Disable
- deprecated warnings for base class.
- * include/bits/stl_multimap.h (multimap::value_compare):
- Likewise.
- * include/bits/stl_raw_storage_iter.h (raw_storage_iterator):
- Add deprecated attribute.
- * include/bits/stl_tempbuf.h (get_temporary_buffer): Likewise.
- * include/bits/stream_iterator.h: Disable deprecated warnings.
- * include/bits/streambuf_iterator.h: Likewise.
- * include/ext/bitmap_allocator.h: Remove unary_function base
- classes.
- * include/ext/functional: Disable deprecated warnings.
- * include/ext/rope: Likewise.
- * include/ext/throw_allocator.h: Likewise.
- * include/std/type_traits (result_of): Add deprecated attribute.
- * include/tr1/functional: Disable deprecated warnings.
- * include/tr1/functional_hash.h: Likewise.
- * testsuite/20_util/function_objects/binders/1.cc: Add
- -Wno-disable-deprecations.
- * testsuite/20_util/function_objects/binders/3113.cc: Likewise.
- * testsuite/20_util/function_objects/constexpr.cc: Add
- dg-warning.
- * testsuite/20_util/raw_storage_iterator/base.cc: Likewise.
- * testsuite/20_util/raw_storage_iterator/dr2127.cc: Likewise.
- * testsuite/20_util/raw_storage_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/20_util/raw_storage_iterator/requirements/explicit_instantiation/1.cc:
- Likewise.
- * testsuite/20_util/raw_storage_iterator/requirements/typedefs.cc:
- Likewise.
- * testsuite/20_util/reference_wrapper/24803.cc:
- Likewise.
- * testsuite/20_util/reference_wrapper/typedefs.cc: Enable for
- C++20 and check for absence of nested types.
- * testsuite/20_util/shared_ptr/comparison/less.cc: Remove
- std::binary_function base class.
- * testsuite/20_util/temporary_buffer.cc: Add dg-warning.
- * testsuite/21_strings/basic_string/cons/char/69092.cc: Remove
- std::iterator base class.
- * testsuite/24_iterators/back_insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/front_insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/insert_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/istream_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/92285.cc:
- Likewise.
- * testsuite/24_iterators/istreambuf_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/ostream_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/ostreambuf_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/24_iterators/reverse_iterator/requirements/base_classes.cc:
- Likewise.
- * testsuite/25_algorithms/copy/34595.cc:
- Likewise.
- * testsuite/25_algorithms/minmax/3.cc: Remove std::binary_function
- base class.
- * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/2.cc:
- Disable deprecated warnings.
- * testsuite/25_algorithms/all_of/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/any_of/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/copy_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/count_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/find_end/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/find_first_of/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/find_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/find_if_not/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/for_each/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/is_partitioned/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/is_permutation/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/none_of/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/partition/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/partition/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/partition_copy/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/partition_point/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/random_shuffle/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/remove_copy_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/remove_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/replace_copy_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/replace_if/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/search/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/search/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/search_n/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/stable_partition/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/25_algorithms/transform/requirements/explicit_instantiation/2.cc:
- Likewise.
- * testsuite/25_algorithms/transform/requirements/explicit_instantiation/pod.cc:
- Likewise.
- * testsuite/27_io/basic_filebuf/underflow/wchar_t/9178.cc: Add
- dg-warning.
- * testsuite/ext/pb_ds/example/priority_queue_erase_if.cc:
- Likewise.
- * testsuite/ext/pb_ds/example/priority_queue_split_join.cc:
- Likewise.
- * testsuite/tr1/3_function_objects/reference_wrapper/typedefs.cc:
- Disable deprecated warnings.
- * testsuite/tr1/6_containers/hash/requirements/base_classes.cc:
- Likewise.
- * testsuite/util/regression/trait/erase_if_fn.hpp: Remove
- std::unary_function base classes.
- * testsuite/util/testsuite_iterators.h (output_iterator_wrapper):
- Remove std::iterator base classes.
-
-2022-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr.h (__cpp_lib_shared_ptr_weak_type):
- Correct type of macro value.
- (shared_ptr): Add additional friend declarations.
- (make_shared, allocate_shared): Constrain existing overloads and
- remove static_assert.
- * include/bits/shared_ptr_base.h (__cpp_lib_smart_ptr_for_overwrite):
- New macro.
- (_Sp_counted_ptr_inplace<T, Alloc, Lp>): New partial
- specialization for use with make_shared_for_overwrite.
- (__cpp_lib_shared_ptr_arrays): Update value for C++20.
- (_Sp_counted_array_base): New class template.
- (_Sp_counted_array): New class template.
- (__shared_count(_Tp*&, const _Sp_counted_array_base&, _Init)):
- New constructor for allocating shared arrays.
- (__shared_ptr(const _Sp_counted_array_base&, _Init)): Likewise.
- * include/std/version (__cpp_lib_shared_ptr_weak_type): Correct
- type.
- (__cpp_lib_shared_ptr_arrays): Update value for C++20.
- (__cpp_lib_smart_ptr_for_overwrite): New macro.
- * testsuite/20_util/shared_ptr/creation/99006.cc: Adjust
- expected errors.
- * testsuite/20_util/shared_ptr/creation/array.cc: New test.
- * testsuite/20_util/shared_ptr/creation/overwrite.cc: New test.
- * testsuite/20_util/shared_ptr/creation/version.cc: New test.
- * testsuite/20_util/unique_ptr/creation/for_overwrite.cc: Check
- feature test macro. Test non-trivial default-initialization.
-
-2022-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_construct.h (_Construct, _Construct_novalue):
- Also cast away cv-qualifiers when converting pointer to void.
- * testsuite/20_util/allocator/void.cc: Test construct function
- with cv-qualified types.
-
-2022-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103992
- * include/bits/stl_iterator.h (common_iterator): Use
- std::construct_at instead of placement new.
- * testsuite/24_iterators/common_iterator/1.cc: Check copy
- construction is usable in constant expressions.
-
-2022-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/status_cxx2011.xml: Document new tokens
- accepted by std::random_device constructor.
- * doc/html/manual/status.html: Regenerate.
+ * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
+ and fail gracefully if defining the weak symbol doesn't work.
-2022-01-12 Patrick Palka <ppalka@redhat.com>
+2023-01-15 François Dumont <fdumont@gcc.gnu.org>
- * testsuite/20_util/to_chars/103955.cc: Add explicit dg-do
- directive.
+ PR libstdc++/108288
+ * include/debug/safe_iterator.h (_Safe_iterator<>::operator++(int)): Extend deadlock
+ fix to other iterator category.
+ (_Safe_iterator<>::operator--(int)): Likewise.
+ * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator++(int)):
+ Fix deadlock.
+ * testsuite/util/debug/unordered_checks.h (invalid_local_iterator_pre_increment): New.
+ (invalid_local_iterator_post_increment): New.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_post_increment_neg.cc:
+ New test.
+ * testsuite/23_containers/unordered_map/debug/invalid_local_iterator_pre_increment_neg.cc:
+ New test.
-2022-01-12 Patrick Palka <ppalka@redhat.com>
+2023-01-15 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/103955
- * src/c++17/floating_to_chars.cc (__floating_to_chars_hex):
- Track the excess precision separately from the effective
- precision. Avoid overflow in bounds check by splitting it into
- two checks.
- (__floating_to_chars_precision): Avoid overflow in bounds checks
- similarly.
- * testsuite/20_util/to_chars/103955.cc: New test.
+ * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
+ dg-options.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-15 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/103726
- * include/Makefile.am: Install <source_location> for
- freestanding.
- * include/Makefile.in: Regenerate.
- * include/std/version (__cpp_lib_source_location): Define for
- freestanding.
+ * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-14 Björn Schäpers <bjoern@hazardy.de>
- * include/std/ranges (ranges::lazy_split_view::_InnerIter::end()):
- Add neoxcept (LWG 3593).
+ * acinclude.m4 (GLIBCXX_ENABLE_BACKTRACE): Add check for
+ windows.h. Add pecoff as FORMAT_FILE.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * src/libbacktrace/Makefile.am: Regenerate.
+ * src/libbacktrace/Makefile.in: Add pecoff.c as FORMAT_FILE.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-14 Björn Schäpers <bjoern@hazardy.de>
- * include/std/ranges (ranges::__detail::__box): Add constexpr to
- assignment operators (LWG 3572).
- * testsuite/std/ranges/adaptors/filter.cc: Check assignment of a
- view that uses copyable-box.
+ * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
+ raw __name if __cxa_demangle could not demangle it.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-14 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/103726
- * include/Makefile.am: Install <coroutine> for freestanding.
- * include/Makefile.in: Regenerate.
- * include/std/coroutine: Adjust headers and preprocessor
- conditions.
- (__coroutine_traits_impl): Use concepts when available.
- [_GLIBCXX_HOSTED] (hash<coroutine_handle>): Define.
+ PR libstdc++/108409
+ * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
+ variable.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-14 Jonathan Wakely <jwakely@redhat.com>
- * include/std/ostream (operator<<(basic_ostream&, charT)):
- Use unformatted input if no padding is needed.
- (operator<<(basic_ostream<char>&, char)): Likewise.
+ * src/c++20/tzdb.cc (TZDB_DISABLED): Disable all code for
+ loading tzdb.
+ * testsuite/std/time/tzdb/leap_seconds.cc: Require tzdb
+ effective target.
+ * testsuite/std/time/tzdb_list/1.cc: Likewise.
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
+2023-01-14 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/103891
- * include/bits/c++config (_GLIBCXX_HAVE_COND_TRIVIAL_SPECIAL_MEMBERS):
- Define.
- * include/std/variant (__cpp_lib_variant): Only define C++20
- value when the compiler is known to support conditionally
- trivial destructors.
- * include/std/version (__cpp_lib_variant): Likewise.
-
-2022-01-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (common_iterator): Add constexpr
- to all member functions (LWG 3574).
- * testsuite/24_iterators/common_iterator/1.cc: Evaluate some
- tests as constant expressions.
- * testsuite/24_iterators/common_iterator/2.cc: Likewise.
-
-2022-01-10 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/77760
- * include/bits/locale_facets_nonio.h (__time_get_state): New struct.
- (time_get::_M_extract_via_format): Declare new method with
- __time_get_state& as an extra argument.
- * include/bits/locale_facets_nonio.tcc (_M_extract_via_format): Add
- __state argument, set various fields in it while parsing. Handle %j,
- %U, %w and %W, fix up handling of %y, %Y and %C, don't adjust tm_hour
- for %p immediately. Add a wrapper around the method without the
- __state argument for backwards compatibility.
- (_M_extract_num): Remove all __len == 4 special cases.
- (time_get::do_get_time, time_get::do_get_date, time_get::do_get): Zero
- initialize __state, pass it to _M_extract_via_format and finalize it
- at the end.
- (do_get_year): For 1-2 digit parsed years, map 0-68 to 2000-2068,
- 69-99 to 1969-1999. For 3-4 digit parsed years use that as year.
- (get): If do_get isn't overloaded from the locale_facets_nonio.tcc
- version, don't call do_get but call _M_extract_via_format instead to
- pass around state.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export _M_extract_via_format
- with extra __time_get_state and __time_get_state::_M_finalize_state.
- * src/c++98/locale_facets.cc (is_leap, day_of_the_week,
- day_of_the_year): New functions in anon namespace.
- (mon_yday): New var in anon namespace.
- (__time_get_state::_M_finalize_state): Define.
- * testsuite/22_locale/time_get/get/char/4.cc: New test.
- * testsuite/22_locale/time_get/get/wchar_t/4.cc: New test.
- * testsuite/22_locale/time_get/get_year/char/1.cc (test01): Parse 197
- as year 197AD instead of error.
- * testsuite/22_locale/time_get/get_year/char/5.cc (test01): Parse 1 as
- year 2001 instead of error.
- * testsuite/22_locale/time_get/get_year/char/6.cc: New test.
- * testsuite/22_locale/time_get/get_year/wchar_t/1.cc (test01): Parse
- 197 as year 197AD instead of error.
- * testsuite/22_locale/time_get/get_year/wchar_t/5.cc (test01): Parse
- 1 as year 2001 instead of error.
- * testsuite/22_locale/time_get/get_year/wchar_t/6.cc: New test.
-
-2022-01-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103866
- * acinclude.m4 (GLIBCXX_COMPUTE_STDIO_INTEGER_CONSTANTS): Do
- nothing for freestanding builds.
- (GLIBCXX_ENABLE_HOSTED): Define FREESTANDING_FLAGS.
- * configure.ac: Do not use AC_LIBTOOL_DLOPEN when configured
- with --without-headers. Do not use GCC_HEADER_STDINT for
- freestanding builds.
- * libsupc++/Makefile.am (HOSTED_CXXFLAGS): Use -ffreestanding
- for freestanding builds.
+ * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Replace the
+ --with-libstdcxx-zoneinfo-dir configure option with
+ --with-libstdcxx-zoneinfo with yes/no/static choices as well as
+ a directory.
+ * config.h.in: Regenerate.
* configure: Regenerate.
- * Makefile.in: Regenerate.
- * doc/Makefile.in: Regenerate.
- * include/Makefile.in: Regenerate.
- * libsupc++/Makefile.in: Regenerate.
- * po/Makefile.in: Regenerate.
- * python/Makefile.in: Regenerate.
- * src/Makefile.in: Regenerate.
- * src/c++11/Makefile.in: Regenerate.
- * src/c++17/Makefile.in: Regenerate.
+ * doc/xml/manual/configure.xml: Document configure option.
+ * doc/html/manual/configure.html: Regenerate.
+ * src/c++20/Makefile.am: Generate tzdata.zi.h header.
* src/c++20/Makefile.in: Regenerate.
- * src/c++98/Makefile.in: Regenerate.
- * src/filesystem/Makefile.in: Regenerate.
- * testsuite/Makefile.in: Regenerate.
+ * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Return a
+ null pointer if no directory is configured.
+ (zoneinfo_dir): Replace with ...
+ (zoneinfo_file): New function.
+ (tzdata_stream): New istream class.
+ (remote_version, reload_tzdb): Use tzdata_stream.
+ * testsuite/lib/libstdc++.exp (check_effective_target_tzdb):
+ Check new _GLIBCXX_STATIC_TZDATA macro and ignore presence of
+ tzdata.zi file in default location.
+ * src/c++20/tzdata.zi: New file.
+
+2023-01-14 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/chrono_io.h (operator<<): Fix syntax errors.
+ * testsuite/std/time/month_day/io.cc: New test.
+ * testsuite/std/time/month_day_last/io.cc: New test.
+ * testsuite/std/time/month_weekday/io.cc: New test.
+ * testsuite/std/time/month_weekday_last/io.cc: New test.
+ * testsuite/std/time/weekday_indexed/io.cc: New test.
+ * testsuite/std/time/weekday_last/io.cc: New test.
+ * testsuite/std/time/year_month/io.cc: New test.
+ * testsuite/std/time/year_month_day_last/io.cc: New test.
+ * testsuite/std/time/year_month_weekday/io.cc: New test.
+ * testsuite/std/time/year_month_weekday_last/io.cc: New test.
+
+2023-01-14 François Dumont <fdumont@gcc.gnu.org>
+
+ * include/std/format [_GLIBCXX_INLINE_VERSION](to_chars): Adapt __asm symbol
+ specifications.
+ * config/abi/pre/gnu-versioned-namespace.ver: Add to_chars/from_chars symbols
+ export.
+
+2023-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/std_mutex.h: Include <errno.h>.
+
+2023-01-13 Arsen Arsenović <arsen@aarsen.me>
+
+ * testsuite/20_util/to_chars/version.cc: Mark hosted-only.
+ * testsuite/20_util/uses_allocator/lwg3677.cc: Ditto.
+ * testsuite/20_util/weak_ptr/cons/self_move.cc: Ditto.
+ * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Replace usage of
+ std::make_unique with a freestanding-compatible wrapper around
+ unique_ptr.
+ * testsuite/21_strings/basic_string_view/operations/contains/char.cc:
+ Don't test for presence of __cpp_lib_string_contains on !HOSTED.
+ * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
+ Ditto.
+ * testsuite/std/ranges/version_c++23.cc: Don't test for presence
+ of __cpp_lib_ranges in !HOSTED.
+
+2023-01-13 Arsen Arsenović <arsen@aarsen.me>
-2022-01-10 Jonathan Wakely <jwakely@redhat.com>
+ * include/Makefile.am: Install bits/char_traits.h,
+ std/string_view
+ * include/Makefile.in: Regenerate.
+ * include/bits/char_traits.h: Gate hosted-only, wchar-only and
+ mbstate-only bits behind appropriate #ifs.
+ * include/std/string_view: Gate <iostream> functionality behind
+ HOSTED.
+ * include/std/version: Enable __cpp_lib_constexpr_string_view
+ and __cpp_lib_starts_ends_with in !HOSTED.
+ * include/std/ranges: Re-enable __is_basic_string_view on
+ freestanding, include <string_view> directly.
+ * include/precompiled/stdc++.h: Include <string_view> when
+ !HOSTED too.
+ * testsuite/20_util/function_objects/searchers.cc: Skip testing
+ boyer_moore searchers on freestanding
+ * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard
+ <string>-related tests behind __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto.
+ * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove
+ unused <stdexcept> include.
+ * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove
+ unused <vector> include.
+ * testsuite/21_strings/basic_string_view/cons/char/range.cc:
+ Guard <string> related testing behind __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc:
+ Guard <stdexcept> related tests behind __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/element_access/char/1.cc:
+ Ditto.
+ * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc:
+ Guard <stdexcept> tests behind __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc:
+ Enable test on freestanding, guard <stdexcept> bits behind
+ __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/operations/substr/char.cc:
+ Guard <stdexcept> bits behind __STDC_HOSTED__.
+ * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc:
+ Ditto.
+
+2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com>
+
+ PR libstdc++/86419
+ * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect
+ errors in incomplete multibyte sequences.
+ (utf16_in): Remove surrogates parameter. Fix conditions for
+ returning partial.
+ (utf16_out): Fix condition for returning partial.
+ (ucs2_in): Do not pass surrogates argument to utf16_in.
+ * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test.
+ * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for
+ tests.
+ * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New
+ test.
- * testsuite/28_regex/algorithms/regex_replace/char/103664.cc:
- Add dg-timeout-factor directive.
- * testsuite/28_regex/basic_regex/84110.cc: Likewise.
- * testsuite/28_regex/basic_regex/ctors/char/other.cc: Likewise.
- * testsuite/28_regex/match_results/102667.cc: Likewise.
+2023-01-13 Jonathan Wakely <jwakely@redhat.com>
-2022-01-10 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108331
+ * config/io/c_io_stdio.h (__c_lock): Define as a typedef for
+ __GTHREAD_LEGACY_MUTEX_T if defined.
- * doc/xml/manual/using.xml: Update documentation around default
- -std option.
- * doc/html/*: Regenerate.
+2023-01-13 Jonathan Wakely <jwakely@redhat.com>
-2022-01-10 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108327
+ * config/os/gnu-linux/ldbl-extra.ver (GLIBCXX_LDBL_3.4.31):
+ Export __try_use_facet specializations for facets in namespace
+ __gnu_cxx_ldbl128.
+ * config/os/gnu-linux/ldbl-ieee128-extra.ver
+ (GLIBCXX_IEEE128_3.4.31): Likewise for facets in namespace
+ __gnu_cxx_ieee128.
+ * testsuite/util/testsuite_abi.cc: Add to lists of known and
+ latest versions.
- PR libstdc++/100017
- * src/c++17/Makefile.am (AM_CXXFLAGS): Add -nostdinc++.
- * src/c++17/Makefile.in: Regenerate.
+2023-01-13 Jonathan Wakely <jwakely@redhat.com>
-2022-01-09 Sandra Loosemore <sandra@codesourcery.com>
+ * include/bits/std_mutex.h: Remove <system_error> include.
+ * include/std/condition_variable: Add <bits/error_constants.h>
+ include.
+ * include/std/mutex: Likewise.
+ * include/std/shared_mutex: Likewise.
- * testsuite/18_support/type_info/constexpr.cc: Add explicit
- -fdelete-null-pointer-checks option.
+2023-01-12 Jonathan Wakely <jwakely@redhat.com>
-2022-01-06 Pavel I. Kryukov <pavel.kryukov@phystech.edu>
- Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/77691
+ * include/experimental/memory_resource
+ (_GLIBCXX_MAX_ALIGN_MATCHES_MALLOC): Define.
+ (do_allocate, do_deallocate): Check it.
+ * testsuite/experimental/memory_resource/new_delete_resource.cc:
+ Relax expected behaviour for 64-bit hppa-hp-hpux11.11.
- PR libstdc++/103853
- * include/bits/forward_list.tcc (forward_list::merge): Check for
- self-merge.
- * testsuite/23_containers/forward_list/operations/merge.cc: New test.
+2023-01-12 Jonathan Wakely <jwakely@redhat.com>
-2022-01-06 Jonathan Wakely <jwakely@redhat.com>
+ * doc/xml/manual/abi.xml: Add latest library versions.
+ * doc/html/manual/abi.html: Regenerate.
- * include/bits/regex.h (basic_regex, match_results): Qualify
- name in friend declaration, to work around Clang bug.
+2023-01-12 François Dumont <fdumont@gcc.gnu.org>
-2022-01-06 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/107189
+ * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
+ unused _Alloc_node instance.
- * testsuite/ext/rope/pthread7-rope.cc: Add dg-timeout-factor.
+2023-01-12 Jonathan Wakely <jwakely@redhat.com>
-2022-01-06 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/atomic_wait.h (__detail::__platform_wait_t):
+ Define as unsigned long if always lock-free, and unsigned int
+ otherwise.
- PR libstdc++/103911
- * include/std/charconv (__from_chars_alpha_to_num): Return
- char instead of unsigned char. Change invalid return value to
- 127 instead of using numeric trait.
- (__from_chars_alnum): Fix comment. Do not use std::isdigit.
- Change type of variable to char.
+2023-01-10 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 François Dumont <fdumont@gcc.gnu.org>
+ * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
+ __catch macros for exception handling.
- PR libstdc++/68303
- * include/bits/hashtable_policy.h
- (_Hashtable_hash_traits<_Hash>): New.
- (_Hash_code_base<>::_M_hash_code(const _Hash_node_value<>&)): New.
- (_Hashtable_base<>::_M_key_equals): New.
- (_Hashtable_base<>::_M_equals): Use latter.
- (_Hashtable_base<>::_M_key_equals_tr): New.
- (_Hashtable_base<>::_M_equals_tr): Use latter.
- * include/bits/hashtable.h
- (_Hashtable<>::__small_size_threshold()): New, use _Hashtable_hash_traits.
- (_Hashtable<>::find): Loop through elements to look for key if size is lower
- than __small_size_threshold().
- (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise.
- (_Hashtable<>::_M_insert_unique(_Kt&&, _Args&&, const _NodeGenerator&)): Likewise.
- (_Hashtable<>::_M_compute_hash_code(const_iterator, const key_type&)): New.
- (_Hashtable<>::_M_emplace(const_iterator, false_type, _Args&&...)): Use latter.
- (_Hashtable<>::_M_find_before_node(const key_type&)): New.
- (_Hashtable<>::_M_erase(true_type, const key_type&)): Use latter.
- (_Hashtable<>::_M_erase(false_type, const key_type&)): Likewise.
- * src/c++11/hashtable_c++0x.cc: Include <bits/functional_hash.h>.
- * testsuite/util/testsuite_performance.h
- (report_performance): Use 9 width to display memory.
- * testsuite/performance/23_containers/insert_erase/unordered_small_size.cc:
- New performance test case.
-
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/103919
- * include/bits/basic_string.h (basic_string(const T&, size_t, size_t)):
- Relax constraints on string_view parameter.
- * include/bits/cow_string.h (basic_string(const T&, size_t, size_t)):
- Likewise.
- * testsuite/21_strings/basic_string/cons/char/103919.cc: New test.
+2023-01-10 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108221
+ * include/bits/stl_algobase.h (__lg): Replace six overloads with
+ a single function template for all integer types.
+ * include/bits/stl_algo.h (__merge_adaptive_resize): Cast
+ arithmetic results back to _Distance.
- * config/abi/pre/gnu.ver (GLIBCXX_3.4.30): Export new symbol for
- ARM EABI.
- * include/bits/c++config (_GLIBCXX23_CONSTEXPR): Define.
- * include/std/version (__cpp_lib_constexpr_typeinfo): Define.
- * libsupc++/tinfo.cc: Add #error to ensure non-inline definition
- is emitted.
- (type_info::__equal): Define alias symbol.
- * libsupc++/typeinfo (type_info::before): Combine different
- implementations into one.
- (type_info::operator==): Likewise. Use address equality for
- constant evaluation. Call __equal for targets that require the
- definition to be non-inline.
- * testsuite/18_support/type_info/constexpr.cc: New test.
+2023-01-10 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108221
+ * include/std/span (span::span()): Un-simplify constraint to
+ work for size_t of lesser rank than int.
- * src/c++11/cxx11-ios_failure.cc (io_error_category): Define
- class and virtual functions as 'final'.
- (io_category_instance): Use constinit union to make the object
- immortal.
- * src/c++11/future.cc (future_error_category): Define class and
- virtual functions as 'final'.
- (future_category_instance): Use constinit union.
+2023-01-07 LIU Hao <lh_mouse@126.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR middle-end/108300
+ * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before
+ <windows.h>.
+ * src/c++11/thread.cc: Likewise.
+ * src/c++17/fs_ops.cc: Likewise.
+ * src/filesystem/ops.cc: Likewise.
- * python/libstdcxx/v6/printers.py (StdErrorCodePrinter): Strip
- versioned namespace from the type name that is printed.
+2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108228
+ * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
- * python/libstdcxx/v6/printers.py (StdRegexStatePrinter): New
- printer for std::regex NFA states.
+2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108235
+ * src/c++20/tzdb.cc (time_zone::_Impl::RulesCounter): New class
+ template and partial specialization for synchronizing access to
+ time_zone::_Impl::infos.
+ (time_zone::_M_get_sys_info, reload_tzdb): Adjust uses of
+ rules_counter.
- * testsuite/23_containers/forward_list/operations/1.cc: Fill in
- placeholders in comments.
- * testsuite/23_containers/forward_list/operations/2.cc:
- Likewise.
- * testsuite/23_containers/forward_list/operations/3.cc:
- Likewise.
- * testsuite/23_containers/forward_list/operations/4.cc:
- Likewise.
- * testsuite/23_containers/forward_list/operations/5.cc:
- Likewise.
- * testsuite/23_containers/forward_list/operations/6.cc:
- Likewise.
- * testsuite/23_containers/forward_list/operations/7.cc:
- Likewise.
+2023-01-06 Patrick Palka <ppalka@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108260
+ * include/bits/utility.h (__cpp_lib_ranges_zip): Define for C++23.
+ * include/std/ranges (__cpp_lib_ranges_zip): Likewise.
+ (__cpp_lib_ranges_chunk): Likewise.
+ (__cpp_lib_ranges_slide): Likewise.
+ (__cpp_lib_ranges_chunk_by): Likewise.
+ (__cpp_lib_ranges_join_with): Likewise.
+ (__cpp_lib_ranges_repeat): Likewise.
+ (__cpp_lib_ranges_stride): Likewise.
+ (__cpp_lib_ranges_cartesian_product): Likewise.
+ (__cpp_lib_ranges_as_rvalue): Likewise.
+ * include/std/version: Ditto.
+ * testsuite/20_util/tuple/p2321r2.cc: Verify value of
+ feature-test macro.
+ * testsuite/std/ranges/adaptors/as_rvalue/1.cc: Likewise.
+ * testsuite/std/ranges/adaptors/chunk/1.cc: Likewise.
+ * testsuite/std/ranges/adaptors/chunk_by/1.cc: Likewise.
+ * testsuite/std/ranges/adaptors/join_with/1.cc: Likewise.
+ * testsuite/std/ranges/adaptors/slide/1.cc: Likewise.
+ * testsuite/std/ranges/adaptors/stride/1.cc: Likewise.
+ * testsuite/std/ranges/cartesian_product/1.cc: Likewise.
+ * testsuite/std/ranges/repeat/1.cc: Likewise.
+ * testsuite/std/ranges/zip/1.cc: Likewise.
+ * testsuite/std/ranges/version_c++23.cc: New test.
- PR libstdc++/103848
- * include/bits/stl_deque.h (operator-): Do not use 0 as null
- pointer constant.
+2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108214
+ * include/std/bitset (operator>>): Use alloca in the right
+ scope, not in a constructor.
+ * testsuite/20_util/bitset/io/input.cc: Check case from PR.
- * include/bits/alloc_traits.h (allocator_traits<allocator<void>>):
- Use std::_Construct for construct.
+2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108221
+ * include/std/format (basic_format_arg) [!__cpp_lib_to_chars]:
+ Disable visiting floating-point types.
- PR libstdc++/103877
- * doc/xml/faq.xml: Add '-x c++' to preprocessor command.
- * doc/html/faq.html: Regenerate.
+2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/regex.h (__regex_algo_impl): Change __policy and
- __match_mode template parameters to be function parameters.
- (regex_match, regex_search): Pass policy and match mode as
- function arguments.
- * include/bits/regex.tcc (__regex_algo_impl): Change template
- parameters to function parameters.
- * include/bits/regex_compiler.h (_RegexTranslatorBase): Use
- 'if constexpr' for conditions using template parameters.
- (_RegexTranslator): Likewise.
- * include/bits/regex_executor.tcc (_Executor::_M_handle_accept):
- Likewise.
- * testsuite/util/testsuite_regex.h (regex_match_debug)
- (regex_search_debug): Move template arguments to function
+ PR libstdc++/108288
+ * include/debug/safe_iterator.h (_Safe_iterator::operator++(int))
+ (_Safe_iterator::operator--(int)): Do not hold lock around
+ construction of return value.
+
+2023-01-05 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/cpu/hppa/atomicity.h (_PA_LDCW_INSN): Define.
+ (__exchange_and_add): Use _PA_LDCW_INSN. Use ordered store for
+ lock release. Revise loop.
+ (__atomic_add): Likewise.
+
+2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108212
+ * python/libstdcxx/v6/printers.py (_utc_timezone): New global
+ variable.
+ (StdChronoTimePointPrinter::to_string): Use it.
+
+2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108290
+ * include/std/functional (_Bind_front): Add no_unique_address
+ attribute to data members.
+ * testsuite/20_util/function_objects/bind_front/107784.cc: Check
+ size of call wrappers with empty types for targets and bound
arguments.
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108211
+ * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone
+ using only last component of the name.
+
+2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108228
+ PR libstdc++/108235
+ * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to
+ the latest symbol version.
+ * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if
+ atomic<_Node*> is not always lock free.
+ (USE_ATOMIC_LIST_HEAD): New macro.
+ [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide
+ definition of weak symbol.
+ (tzdb_list::_Node::_S_head): Rename to _S_head_cache.
+ (tzdb_list::_Node::_S_list_head): New function for accessing
+ list head efficiently.
+ (tzdb_list::_Node::_S_cache_list_head): New function for
+ updating _S_list_head.
- * testsuite/util/testsuite_regex.h (regex_match_debug): Compare
- results even if the match failed.
+2023-01-05 Jonathan Wakely <jwakely@redhat.com>
-2022-01-05 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/108265
+ * include/std/chrono (hh_mm_ss): Do not use chrono::abs if
+ duration rep is unsigned.
+ * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep.
- * include/bits/regex_compiler.tcc: Adjust all calls to
- __throw_regex_error.
- * include/bits/regex_error.h (__throw_regex_error): Add noreturn
- attribute.
- * include/bits/regex_scanner.tcc: Likewise.
- * src/c++11/regex.cc (desc): New helper function.
- (regex_error::regex_error(error_type)): Use desc to get a string
- corresponding to the error code.
+2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
+
+ PR libstdc++/108228
+ * config/abi/pre/gnu.ver (GLIBCXX_3.4):
+ Add __gnu_cxx::zoneinfo_dir_override().
+
+2023-01-04 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108258
+ * include/std/array (__array_traits<T, 0>::operator T*()): Add
+ constexpr.
+ * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check
+ std::array<T, 0>::data().
\f
-Copyright (C) 2022 Free Software Foundation, Inc.
+Copyright (C) 2023 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright