-2023-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110990
- * include/std/format (_Seq_sink::get): Only call _M_overflow if
- its precondition is met.
- (_Iter_sink::_M_finish): Likewise.
- (_Iter_sink<C, ContigIter>::_M_overflow): Only switch to the
- internal buffer after running out of space.
- (_Iter_sink<C, ContigIter>::_M_finish): Do not use _M_overflow.
- (_Counting_sink::count): Likewise.
- * testsuite/std/format/functions/format_to_n.cc: Check cases
- where the output fits into the buffer.
-
-2023-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104167
- * include/bits/chrono_io.h (operator|=, operator|): Add noexcept
- to _ChronoParts operators.
- (from_stream, parse): Define new functions.
- (__detail::_Parse, __detail::_Parser): New class templates.
- * include/std/chrono (__cpp_lib_chrono): Define to 201907L for
- C++20.
- * include/std/version (__cpp_lib_chrono): Likewise.
- * testsuite/20_util/duration/arithmetic/constexpr_c++17.cc:
- Adjust expected value of feature test macro.
- * testsuite/20_util/duration/io.cc: Test parsing.
- * testsuite/std/time/clock/file/io.cc: Likewise.
- * testsuite/std/time/clock/gps/io.cc: Likewise.
- * testsuite/std/time/clock/system/io.cc: Likewise.
- * testsuite/std/time/clock/tai/io.cc: Likewise.
- * testsuite/std/time/clock/utc/io.cc: Likewise.
- * testsuite/std/time/day/io.cc: Likewise.
- * testsuite/std/time/month/io.cc: Likewise.
- * testsuite/std/time/month_day/io.cc: Likewise.
- * testsuite/std/time/weekday/io.cc: Likewise.
- * testsuite/std/time/year/io.cc: Likewise.
- * testsuite/std/time/year_month/io.cc: Likewise.
- * testsuite/std/time/year_month_day/io.cc: Likewise.
- * testsuite/std/time/syn_c++20.cc: Check value of macro and for
- the existence of parse and from_stream in namespace chrono.
- * testsuite/std/time/clock/local/io.cc: New test.
- * testsuite/std/time/parse.cc: New test.
-
-2023-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110860
- * include/std/format (__formatter_fp::format): Do not call log10
- with zero values.
-
-2023-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- * python/libstdcxx/v6/printers.py (StdChronoCalendarPrinter):
- Check for out-of-range month an weekday indices.
- * testsuite/libstdc++-prettyprinters/chrono.cc: Check invalid
- month and weekday values.
-
-2023-08-11 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/stl_iterator.h (__clamped_iter_cat_t): Remove.
-
-2023-08-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110974
- * include/std/format (_Spec::_S_parse_width_or_precision): Check
- for empty range before dereferencing iterator.
- * testsuite/std/format/string.cc: Check for expected exception.
- Fix expected exception message in test_pr110862() and actually
- call it.
-
-2023-08-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110968
- * include/std/format (__formatter_fp::format): Check return
- value of _M_localize.
- * testsuite/std/format/functions/format.cc: Check classic
- locale.
-
-2023-08-10 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110970
- * include/bits/stl_iterator.h (__detail::__move_iter_cat): Use
- __iter_category_t.
- (iterator_traits<common_iterator<I, S>>::_S_iter_cat): Likewise.
- (__detail::__basic_const_iterator_iter_cat): Likewise.
- * include/bits/stl_iterator_base_types.h (__iterator_category_t):
- Rename to __iter_category_t.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono.h (duration_cast): Do not use braces
- around statements for C++11 constexpr rules.
- * include/bits/stl_algobase.h (__lg): Rewrite as a single
- statement for C++11 constexpr rules.
- * include/experimental/bits/fs_path.h (path::string): Use
- _GLIBCXX17_CONSTEXPR not _GLIBCXX_CONSTEXPR for 'if constexpr'.
- * include/std/charconv (__to_chars_8): Initialize variable for
- C++17 constexpr rules.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare
- warning for loop condition.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/complex: Add diagnostic pragma for clang.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/shared_ptr_atomic.h (atomic): Change class-head
- to struct.
- * include/bits/stl_tree.h (_Rb_tree_merge_helper): Change
- class-head to struct in friend declaration.
- * include/std/chrono (tzdb_list::_Node): Likewise.
- * include/std/future (_Task_state_base, _Task_state): Likewise.
- * include/std/scoped_allocator (__inner_type_impl): Likewise.
- * include/std/valarray (_BinClos, _SClos, _GClos, _IClos)
- (_ValFunClos, _RefFunClos): Change class-head to struct.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (allocate): Add [[maybe_unused]]
- attribute.
- * include/bits/regex_executor.tcc: Remove name of unused
- parameter.
- * include/bits/shared_ptr_atomic.h (atomic_is_lock_free):
- Likewise.
- * include/bits/stl_uninitialized.h: Likewise.
- * include/bits/streambuf_iterator.h (operator==): Likewise.
- * include/bits/uses_allocator.h: Likewise.
- * include/c_global/cmath (isfinite, isinf, isnan): Likewise.
- * include/std/chrono (zoned_time): Likewise.
- * include/std/future (__future_base::_S_allocate_result):
- Likewise.
- (packaged_task): Likewise.
- * include/std/optional (_Optional_payload_base): Likewise.
- * include/std/scoped_allocator (__inner_type_impl): Likewise.
- * include/std/tuple (_Tuple_impl): Likewise.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/new_allocator.h (__new_allocator): Define copy
- assignment operator as defaulted.
- * include/std/complex (complex<float>, complex<double>)
- (complex<long double>): Define copy constructor as defaulted.
-
-2023-08-09 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format: Fix some warnings.
- (__format::__write(Ctx&, basic_string_view<CharT>)): Remove
- unused function template.
-
-2023-08-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110860
- * include/std/format (__formatter_fp::format): Do not use
- __builtin_abs and __builtin_log10 with arbitrary floating-point
- types.
-
-2023-08-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110917
- * include/std/format (__format::_Iter_sink<CharT, OutIter>):
- Constrain partial specialization for contiguous iterators to
- require the value type to be CharT.
- * testsuite/std/format/functions/format_to.cc: New test.
-
-2023-08-07 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110862
- * include/std/format (_Scanner::_M_on_replacement_field):
- Check for expected '}' before incrementing iterator.
- * testsuite/std/format/string.cc: Check "{0:{0}" format string.
-
-2023-08-07 Nick Alcock <nick.alcock@oracle.com>
-
- * configure: Regenerate.
-
-2023-08-07 Alan Modra <amodra@gmail.com>
-
- * configure: Regenerate.
-
-2023-08-07 Alexander von Gluck IV <kallisti5@unixzen.com>
-
- * configure: Regenerate.
-
-2023-08-07 Nick Alcock <nick.alcock@oracle.com>
-
- * configure: Regenerate.
-
-2023-08-07 Nick Alcock <nick.alcock@oracle.com>
-
- * configure: Regenerate.
-
-2023-08-07 H.J. Lu <hjl.tools@gmail.com>
-
- * configure: Regenerate.
-
-2023-08-07 H.J. Lu <hjl.tools@gmail.com>
-
- * configure: Regenerate.
-
-2023-08-06 François Dumont <fdumont@gcc.gnu.org>
-
- * config/abi/pre/gnu-versioned-namespace.ver: Add __cxa_call_terminate
- symbol export.
-
-2023-07-30 François Dumont <fdumont@gcc.gnu.org>
-
- * src/c++11/compatibility-ldbl-facets-aliases.h: Replace #define with
- proper #error.
- * src/c++11/locale-inst-monetary.h: Likewise.
- * src/c++11/locale-inst-numeric.h: Likewise.
-
-2023-07-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108046
- * include/std/format (__formatter_fp::format): Ensure __expc is
- always set for all presentation types. Set __z correctly for
- zero precision.
- * testsuite/std/format/functions/format.cc: Check problem cases.
-
-2023-07-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110807
- * testsuite/23_containers/vector/bool/110807.cc: Require c++11.
-
-2023-07-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110807
- * include/bits/stl_bvector.h (vector(const vector&)): Access
- iterators before allocating.
- * include/bits/vector.tcc (vector<bool>::_M_insert_range):
- Likewise.
- * testsuite/23_containers/vector/bool/110807.cc: New test.
-
-2023-07-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/algorithmfwd.h (random_shuffle): Add deprecated
- attribute.
- * include/bits/stl_algo.h (random_shuffle): Correct comments.
- * testsuite/25_algorithms/random_shuffle/1.cc: Disable
- deprecated warnings.
- * testsuite/25_algorithms/random_shuffle/59603.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/moveable.cc: Likewise.
- * testsuite/25_algorithms/random_shuffle/deprecated.cc: New
- test.
-
-2023-07-26 Nathaniel Shead <nathanieloshead@gmail.com>
-
- * testsuite/25_algorithms/equal/constexpr_neg.cc: Update diagnostic
- locations.
- * testsuite/26_numerics/gcd/105844.cc: Likewise.
- * testsuite/26_numerics/lcm/105844.cc: Likewise.
-
-2023-07-24 Deev Patel <pateldeev@nevada.unr.edu>
-
- * include/std/format (_Formatting_scanner::_M_on_chars): Add
- missing constexpr specifier.
- (_Formatting_scanner::_M_format_arg): Likewise.
-
-2023-07-24 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110653
- * include/bits/basic_string.h [!HAVE_STOF] (stof): Do not
- throw an exception for zero result.
- [HAVE_BROKEN_STRTOLD] (stold): Do not use strtold.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110077
- * src/c++17/floating_from_chars.cc (from_chars): Only define
- _Float128 overload when using __strfromf128.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110593
- * include/bits/chrono.h (duration): Improve static assert
- messages.
- (__is_ratio): Move to ...
- * include/std/ratio (__is_ratio): ... here.
- (__is_ratio_v): New variable template and partial
- specialization.
- (__are_both_ratios): New function template.
- (__ratio_multiply, ratio_equal, ratio_less, __ratio_add):
- Add static assertion.
- * testsuite/20_util/ratio/requirements/type_constraints.cc:
- New test.
- * testsuite/20_util/duration/requirements/typedefs_neg1.cc:
- Adjust expected error.
- * testsuite/20_util/duration/requirements/typedefs_neg2.cc:
- Likewise.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono_io.h (__formatter_chrono::_M_format):
- Do not set __is_neg for hh_mm_ss before calling
- _M_format_to_ostream. Change __print_sign lambda to only check
- __is_neg for durations and hh_mm_ss types.
- (__formatter_chrono::_M_format_to_ostream): Only check __is_neg
- for duration types.
- * testsuite/std/time/hh_mm_ss/io.cc: Check negative values.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110719
- * include/bits/chrono_io.h (__formatter_chrono::_S_floor_seconds):
- Handle duration and hh_mm_ss.
- * testsuite/20_util/duration/io.cc: Check locale-specific
- formats.
- * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format (__write_padded): Initialize first element
- of array to avoid a -Wmaybe-uninitialized warning.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110719
- * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Fix
- allowed modifiers for %z and %Z. Fix -Wparentheses and
- -Wnarrowing warnings.
- (__formatter_chrono::_M_format): Call new functions for %d, %e,
- %H, %I, %m and %M.
- (__formatter_chrono::_M_c): Use _S_floor_seconds to remove
- subsecond precision.
- (__formatter_chrono::_M_C_y_Y): Use _M_locale_fmt to handle
- modifiers.
- (__formatter_chrono::_M_e): Replace with _M_d_e and use
- _M_locale_fmt.
- (__formatter_chrono::_M_I): Replace with _M_H_I and use
- _M_locale_fmt.
- (__formatter_chrono::_M_m): New function.
- (__formatter_chrono::_M_M): New function.
- (__formatter_chrono::_M_r): Use _M_locale_fmt.
- (__formatter_chrono::_M_S): Likewise.
- (__formatter_chrono::_M_u_w): Likewise.
- (__formatter_chrono::_M_U_V_W): Likewise.
- (__formatter_chrono::_M_X): Use _S_floor_seconds.
- (__formatter_chrono::_M_Z): Fix untested branch for wchar_t.
- (__formatter_chrono::_S_altnum): Remove function.
- (__formatter_chrono::_S_dd_zero_fill): Remove function.
- (__formatter_chrono::_S_floor_seconds): New function.
- (__formatter_chrono::_M_locale_fmt): New function.
- * testsuite/std/time/clock/system/io.cc: Adjust expected output
- for locale-specific formats and check modified formats.
- * testsuite/std/time/clock/utc/io.cc: Likewise.
- * testsuite/std/time/zoned_time/io.cc: New test.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110708
- * include/bits/chrono_io.h (__formatter_chrono::_M_parse): Only
- allow a single modifier.
- * testsuite/std/time/format.cc: Check multiple modifiers.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110653
- * testsuite/21_strings/basic_string/numeric_conversions/char/stod.cc:
- Remove dg-require-string-conversions.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stof.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stoi.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stol.cc:
- Likewise.
- * testsuite/21_strings/basic_string/numeric_conversions/char/stoul.cc:
- Likewise.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110653
- * include/bits/basic_string.h [!_GLIBCXX_HAVE_STRTOF] (stof):
- Define in terms of std::stod.
-
-2023-07-19 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110653
- * include/bits/basic_string.h [_GLIBCXX_HAVE_STRTOF] (stof):
- Define.
- [_GLIBCXX_HAVE_STRTOLD] (stold): Define.
- * include/c_global/cstdlib [_GLIBCXX_HAVE_STRTOF] (strtof):
- Declare in namespace std.
- [_GLIBCXX_HAVE_STRTOLD] (strtold): Likewise.
-
-2023-07-13 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110653
- * include/bits/basic_string.h (stoi, stol, stoul, stod): Do not
- depend on _GLIBCXX_USE_C99_STDLIB.
- [__LONG_WIDTH__ == __LONG_LONG_WIDTH__] (stoll, stoull): Define
- in terms of stol and stoul respectively.
- [__DBL_MANT_DIG__ == __LDBL_MANT_DIG__] (stold): Define in terms
- of stod.
-
-2023-07-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/95048
- * testsuite/27_io/filesystem/path/construct/95048.cc: Check
- conversions to wide strings.
- * testsuite/experimental/filesystem/path/construct/95048.cc:
- Likewise.
-
-2023-07-12 Jonathan Wakely <jwakely@redhat.com>
-
- * config/io/basic_file_stdio.cc: Define LFS macros.
- (__basic_file<char>::open): Use fopen unconditionally.
- (get_file_offset): Use lseek unconditionally.
- (__basic_file<char>::seekoff): Likewise.
- (__basic_file<char>::showmanyc): Use fstat unconditionally.
-
-2023-07-12 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110574
- * acinclude.m4 (GLIBCXX_CHECK_LFS): Check for fseeko and ftello
- and define _GLIBCXX_USE_FSEEKO_FTELLO.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * config/io/basic_file_stdio.cc (xwrite) [_GLIBCXX_USE_STDIO_PURE]:
- Check for fwrite error correctly.
- (__basic_file<char>::xsgetn) [_GLIBCXX_USE_STDIO_PURE]: Check for
- fread error correctly.
- (get_file_offset): New function.
- (__basic_file<char>::seekoff) [_GLIBCXX_USE_STDIO_PURE]: Use
- fseeko if available. Use get_file_offset instead of return value
- of fseek.
- (__basic_file<char>::showmanyc): Use get_file_offset.
-
-2023-07-12 Ken Matsui <kmatsui@gcc.gnu.org>
-
- * include/std/type_traits (__make_unsigned_selector): Use
- __is_enum built-in trait.
- (__make_signed_selector): Likewise.
- (__underlying_type_impl): Likewise.
-
-2023-07-06 Tianqiang Shuai <1101282468@qq.com>
-
- * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix
- first argument.
-
-2023-07-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110574
- * doc/xml/manual/configure.xml: Describe stdio_pure argument to
- --enable-cstdio.
- * doc/html/manual/configure.html: Regenerate.
-
-2023-07-05 Thomas Rodgers <trodgers@redhat.com>
-
- * testsuite/25_algorithms/pstl/alg_sorting/set.cc: Delete
- file.
- * testsuite/25_algorithms/pstl/alg_sorting/set_difference.cc:
- New file.
- * testsuite/25_algorithms/pstl/alg_sorting/set_intersection.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/set_symmetric_difference.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/set_union.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/set_util.h:
- Likewise.
-
-2023-07-05 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/forward_list/debug/iterator1_neg.cc:
- Skip as UNSUPPORTED for C++98 mode.
- * testsuite/23_containers/forward_list/debug/iterator3_neg.cc:
- Likewise.
-
-2023-07-05 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110542
- * include/bits/stl_uninitialized.h (__uninitialized_default_n):
- Do not use std::fill_n during constant evaluation.
-
-2023-07-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/vector.tcc (_M_default_append): Replace try-block
- with RAII types.
-
-2023-07-05 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/iterator_concepts.h (projected): Add typename.
-
-2023-07-03 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/27_io/headers/iosfwd/synopsis.cc: Make wsyncbuf and
- wosyncstream depend on _GLIBCXX_USE_CXX11_ABI.
-
-2023-07-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/pstl/pstl_config.h (_PSTL_PRAGMA_SIMD_SCAN,
- _PSTL_PRAGMA_SIMD_INCLUSIVE_SCAN, _PSTL_PRAGMA_SIMD_EXCLUSIVE_SCAN):
- Define to OpenMP 5.0 pragmas even for GCC 10.0+.
- (_PSTL_UDS_PRESENT): Define to 1 for GCC 10.0+.
-
-2023-07-03 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/alloc_traits.h (_Destroy): Qualify call.
- * include/bits/stl_construct.h (_Destroy, _Destroy_n): Likewise.
- * testsuite/23_containers/vector/cons/destroy-adl.cc: New test.
-
-2023-07-03 Iain Sandoe <iain@sandoe.co.uk>
-
- * testsuite/lib/libstdc++.exp: Remove additional flag handled
- by Darwin specs.
-
-2023-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110432
- * acinclude.m4 (GLIBCXX_CHECK_INIT_PRIORITY): New.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Use GLIBCXX_CHECK_INIT_PRIORITY.
- * include/std/iostream: Use new autoconf macro as well as
- __has_attribute.
- * src/c++98/ios_base_init.h: Use new autoconf macro instead of
- __has_attribute.
-
-2023-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++11/random.cc (random_device::_M_init): Add maybe_unused
- attribute.
-
-2023-06-30 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/105081
- * src/c++11/random.cc (random_device::_M_init): Throw
- std::system_error when the requested device is a valid token but
- not available at runtime.
-
-2023-06-30 Hans-Peter Nilsson <hp@axis.com>
-
- PR libstdc++/108672
- * include/pstl/unseq_backend_simd.h (__simd_or): Re-apply using
- __INT32_TYPE__ instead of int32_t.
-
-2023-06-29 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define consistently
- with USE_ATOMIC_LIST_HEAD.
- (list_mutex): Replace global object with function. Use local
- static object when std::mutex constructor isn't constexpr.
-
-2023-06-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110462
- * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check that
- copy_file_range can be called with loff_t* arguments.
- * configure: Regenerate.
- * src/filesystem/ops-common.h (copy_file_copy_file_range):
- Use loff_t for offsets.
-
-2023-06-29 Tom Tromey <tromey@adacore.com>
-
- * testsuite/lib/gdb-test.exp (gdb-test): Relax type-printer
- regexp.
-
-2023-06-28 Jan Hubicka <jh@suse.cz>
-
- PR middle-end/109849
- * include/bits/c++config (std::__terminate): Mark cold.
- * include/bits/functexcept.h: Mark everything as cold.
- * libsupc++/exception: Mark terminate and unexpected as cold.
-
-2023-06-26 Thomas Rodgers <trodgers@redhat.com>
-
- * include/pstl/algorithm_fwd.h: Synchronize with upstream.
- * include/pstl/algorithm_impl.h: Likewise.
- * include/pstl/execution_defs.h: Likewise.
- * include/pstl/execution_impl.h: Likewise.
- * include/pstl/glue_algorithm_impl.h: Likewise.
- * include/pstl/glue_execution_defs.h: Likewise.
- * include/pstl/glue_memory_impl.h: Likewise.
- * include/pstl/glue_numeric_impl.h: Likewise.
- * include/pstl/memory_impl.h: Likewise.
- * include/pstl/numeric_fwd.h: Likewise.
- * include/pstl/numeric_impl.h: Likewise.
- * include/pstl/parallel_backend.h: Likewise.
- * include/pstl/parallel_backend_serial.h: Likewise.
- * include/pstl/parallel_backend_tbb.h: Likewise.
- * include/pstl/parallel_impl.h: Likewise.
- * include/pstl/pstl_config.h: Likewise.
- * include/pstl/unseq_backend_simd.h: Likewise.
- * include/pstl/utils.h: Likewise.
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_construct.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_copy_move.cc:
- Likewise.
- * testsuite/20_util/specialized_algorithms/pstl/uninitialized_fill_destroy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_merge/inplace_merge.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_merge/merge.cc: Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_if.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/copy_move.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/fill.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/generate.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/is_partitioned.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/partition.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/partition_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/remove.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/remove_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/replace.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/replace_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/rotate_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/swap_ranges.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_binary.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/transform_unary.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/unique.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_modifying_operations/unique_copy_equal.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/adjacent_find.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/all_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/any_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/count.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/equal.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_end.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_first_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/find_if.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/for_each.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/mismatch.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/none_of.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/nth_element.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/reverse_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_nonmodifying/search_n.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/includes.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/is_heap.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/is_sorted.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/lexicographical_compare.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/minmax_element.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/partial_sort.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/partial_sort_copy.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/set.cc:
- Likewise.
- * testsuite/25_algorithms/pstl/alg_sorting/sort.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/adjacent_difference.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/reduce.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/scan.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
- Likewise.
- * testsuite/26_numerics/pstl/numeric_ops/transform_scan.cc:
- Likewise.
- * testsuite/util/pstl/test_utils.h:
- Likewise.
-
-2023-06-26 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110239
- * include/std/format (__format::__parse_integer): Fix buffer
- overflow for wide chars.
- (formatter<const void*, C>::format): Cast to uintptr_t instead
- of uint64_t.
- * testsuite/std/format/string.cc: Test too-large widths.
-
-2023-06-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/iterator_concepts.h (projected): Replace class
- template with alias template denoting an ADL-proofed helper.
- (incremental_traits<projected<Iter, Proj>>): Remove.
- * testsuite/24_iterators/indirect_callable/projected-adl.cc:
- New test.
-
-2023-06-26 Jonathan Wakely <jwakely@redhat.com>
-
- * include/debug/helper_functions.h (__get_distance)
- (__check_singular, __valid_range_aux, __valid_range): Qualify
- calls to disable ADL.
- (__check_singular_aux(const _Safe_iterator_base*)): Declare
- overload that was previously found via ADL.
-
-2023-06-23 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/vector.tcc (_M_realloc_insert): Replace try-block
- with RAII types.
-
-2023-06-20 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/array (to_array(T(&)[N])): Remove redundant
- condition.
- (to_array(T(&&)[N])): Remove redundant std::move.
-
-2023-06-16 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/20_util/from_chars/4.cc: Skip long double on
- aarch64-rtems.
-
-2023-06-16 Joel Brobecker <brobecker@adacore.com>
-
- * configure.ac ["x${with_newlib}" = "xyes"]: Define
- HAVE_HYPOTF. Add compile-checks for various long double
- math functions as well.
- * configure: Regenerate.
-
-2023-06-14 Jonny Grant <jg@jguk.org>
-
- * doc/xml/manual/extensions.xml: Remove demangle exception
- description and include.
- * doc/html/manual/ext_demangling.html: Regenerate.
-
-2023-06-10 Hans-Peter Nilsson <hp@axis.com>
-
- * testsuite/27_io/basic_istream/ignore/wchar_t/94749.cc (main)
- [! SIMULATOR_TEST]: Also exclude running test05.
- * testsuite/27_io/basic_istream/ignore/char/94749.cc: Ditto.
-
-2023-06-09 Ken Matsui <kmatsui@cs.washington.edu>
-
- * include/std/type_traits: Use using instead of typedef
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110077
- * src/c++17/floating_from_chars.cc (from_chars) <_Float128>:
- Only define if _Float128 and long double have different
- representations.
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/100285
- * include/experimental/internet [IPPROTO_TCP || IPPROTO_UDP]
- (basic_endpoint, basic_resolver_entry, resolver_base)
- (basic_resolver_results, basic_resolver): Only define if the tcp
- or udp protocols will be defined.
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (libtool_VERSION): Update to 6.0.33.
- * configure: Regenerate.
- * doc/xml/manual/abi.xml: Add libstdc++.so.6.0.33.
- * doc/html/manual/abi.html: Regenerate.
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110149
- * include/std/format (formatter<const void*, charT>::parse):
- Only alow 0 and P for C++26 and non-strict modes.
- (formatter<const void*, charT>::format): Use toupper for P
- type, and insert zero-fill characters for 0 option.
- * testsuite/std/format/functions/format.cc: Check pointer
- formatting. Only check P2510R3 extensions conditionally.
- * testsuite/std/format/parse_ctx.cc: Only check P2510R3
- extensions conditionally.
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110167
- * include/std/array (to_array): Initialize arrays of trivial
- types using memcpy. For non-trivial types, use lambda
- expressions instead of a separate helper function.
- (__to_array): Remove.
- * testsuite/23_containers/array/creation/110167.cc: New test.
-
-2023-06-09 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/23_containers/deque/modifiers/emplace/52799.cc:
- Removed.
- * testsuite/23_containers/deque/modifiers/emplace/const_iterator.cc:
- Removed.
- * testsuite/23_containers/list/modifiers/emplace/52799.cc:
- Removed.
- * testsuite/23_containers/list/modifiers/emplace/const_iterator.cc:
- Removed.
- * testsuite/23_containers/vector/modifiers/emplace/52799.cc:
- Removed.
- * testsuite/23_containers/vector/modifiers/emplace/const_iterator.cc:
- Removed.
- * testsuite/23_containers/deque/modifiers/emplace/1.cc: New
- test.
- * testsuite/23_containers/list/modifiers/emplace/1.cc: New
- test.
- * testsuite/23_containers/vector/modifiers/emplace/1.cc: New
- test.
-
-2023-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/110145
- * testsuite/20_util/to_chars/double.cc: Include <cfloat>.
- (double_to_chars_test_cases,
- double_scientific_precision_to_chars_test_cases_2,
- double_fixed_precision_to_chars_test_cases_2): #if out 1e126, 4.91e-6
- and 5.547e-6 tests if FLT_EVAL_METHOD is negative or larger than 1.
- Add unconditional tests with corresponding double constants
- 0x1.7a2ecc414a03fp+418, 0x1.4981285e98e79p-18 and
- 0x1.7440bbff418b9p-18.
-
-2023-06-07 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_abi.cc (check_version): Re-add
- CXXABI_1.3.14.
-
-2023-06-07 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/nested_exception/rethrow_if_nested-term.cc:
- Require effective target exceptions_enabled instead of using
- dg-skip-if.
- * testsuite/23_containers/vector/capacity/constexpr.cc: Expect
- shrink_to_fit() to be a no-op without exceptions enabled.
- * testsuite/23_containers/vector/capacity/shrink_to_fit.cc:
- Likewise.
- * testsuite/ext/bitmap_allocator/check_allocate_max_size.cc:
- Require effective target exceptions_enabled.
- * testsuite/ext/malloc_allocator/check_allocate_max_size.cc:
- Likewise.
- * testsuite/ext/mt_allocator/check_allocate_max_size.cc:
- Likewise.
- * testsuite/ext/new_allocator/check_allocate_max_size.cc:
- Likewise.
- * testsuite/ext/pool_allocator/check_allocate_max_size.cc:
- Likewise.
- * testsuite/ext/throw_allocator/check_allocate_max_size.cc:
- Likewise.
-
-2023-06-07 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/20_util/duration/cons/2.cc: Use values that aren't
- affected by rounding.
- * testsuite/20_util/from_chars/5.cc: Cast arithmetic result to
- double before comparing for equality.
- * testsuite/20_util/from_chars/6.cc: Likewise.
- * testsuite/20_util/variant/86874.cc: Use values that aren't
- affected by rounding.
- * testsuite/25_algorithms/lower_bound/partitioned.cc: Compare to
- original value instead of to floating-point-literal.
- * testsuite/26_numerics/random/discrete_distribution/cons/range.cc:
- Cast arithmetic result to double before comparing for equality.
- * testsuite/26_numerics/random/piecewise_constant_distribution/cons/range.cc:
- Likewise.
- * testsuite/26_numerics/random/piecewise_linear_distribution/cons/range.cc:
- Likewise.
- * testsuite/26_numerics/valarray/transcend.cc (eq): Check that
- the absolute difference is less than 0.01 instead of comparing
- to two decimal places.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/01.cc:
- Cast arithmetic result to double before comparing for equality.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/09.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/char/10.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/01.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/09.cc:
- Likewise.
- * testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/10.cc:
- Likewise.
- * testsuite/ext/random/hoyt_distribution/cons/parms.cc: Likewise.
-
-2023-06-07 Jonathan Wakely <jwakely@redhat.com>
-
- Revert:
- 2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- * configure.ac: Use AS_IF.
- * configure: Regenerate.
-
-2023-06-07 Thomas Schwinge <thomas@codesourcery.com>
-
- * testsuite/lib/prune.exp (libstdc++-dg-prune): Support
- 'UNSUPPORTED: [...]: exception handling disabled'.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/util/testsuite_abi.cc (check_version): Add
- CXXABI_1.3.15 symver and make it the latestp. Remove
- GLIBCXX_IEEE128_3.4.31 and GLIBCXX_LDBL_3.4.31 from latestp.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/104772
- * include/std/limits: (numeric_limits<__float128>): Define
- for __STRICT_ANSI__ as well.
- * testsuite/18_support/numeric_limits/128bit.cc: Remove
- check for __STRICT_ANSI__.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- * configure.ac: Use AS_IF.
- * configure: Regenerate.
-
-2023-06-06 Matthias Kretz <m.kretz@gsi.de>
-
- PR libstdc++/109822
- * include/experimental/bits/simd_builtin.h (_S_store): Rewrite
- to avoid casts to other vector types. Implement store as
- succession of power-of-2 sized memcpy to avoid PR90424.
-
-2023-06-06 Matthias Kretz <m.kretz@gsi.de>
-
- PR libstdc++/110054
- * include/experimental/bits/simd_builtin.h (_S_masked_store):
- Call into deduced ABI's SimdImpl after conversion.
- * include/experimental/bits/simd_x86.h (_S_masked_store_nocvt):
- Don't use _mm_maskmoveu_si128. Use the generic fall-back
- implementation. Also fix masked stores without SSE2, which
- were not doing anything before.
-
-2023-06-06 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h (__bit_cast): Use
- __gnu__::__vector_size__ instead of gnu::vector_size.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/110139
- * include/std/array (__array_traits<T, 0>::operator T*()): Make
- conversion operator explicit.
- (array::front): Use size_type as subscript operand.
- (array::data): Use static_cast to make conversion explicit.
- * testsuite/23_containers/array/element_access/110139.cc: New
- test.
-
-2023-06-06 Joseph Faulls <Joseph.Faulls@imgtec.com>
-
- * include/bits/locale_classes.tcc: Remove check for
- codecvt<char8_t, char, mbstate_t> facet.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops-common.h (do_copy_file) [O_CLOEXEC]: Set
- close-on-exec flag on file descriptors.
-
-2023-06-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108178
- * src/filesystem/ops-common.h (do_copy_file): Check for empty
- files by trying to read a character.
- * testsuite/27_io/filesystem/operations/copy_file_108178.cc:
- New test.
-
-2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
-
- * acinclude.m4 (_GLIBCXX_USE_COPY_FILE_RANGE): Define.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/filesystem/ops-common.h (copy_file_copy_file_range):
- Define new function.
- (do_copy_file): Use it.
-
-2023-06-06 Jannik Glückert <jannik.glueckert@gmail.com>
-
- * acinclude.m4 (_GLIBCXX_HAVE_LSEEK): Define.
- * config.h.in: Regenerate.
- * configure: Regenerate.
- * src/filesystem/ops-common.h (copy_file_sendfile): Define new
- function for sendfile logic. Loop to support large files. Skip
- zero-length files.
- (do_copy_file): Use it.
-
-2023-06-04 Jason Merrill <jason@redhat.com>
-
- PR c++/97720
- * libsupc++/eh_call.cc (__cxa_call_terminate): Take void*.
- * config/abi/pre/gnu.ver: Add it.
-
-2023-06-02 François Dumont <fdumont@gcc.gnu.org>
-
- * include/parallel/algobase.h: Include <parallel/search.h>.
-
-2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/26_numerics/pstl/numeric_ops/transform_reduce.cc:
- Add const to equality operator.
-
-2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-06-01 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-06-01 Jason Merrill <jason@redhat.com>
-
- * libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Don't check
- handlers in the cleanup phase.
-
-2023-06-01 Matthias Kretz <m.kretz@gsi.de>
-
- PR libstdc++/110050
- * include/experimental/bits/simd.h (__vectorized_sizeof): With
- __have_neon_a32 only single-precision float works (in addition
- to integers).
-
-2023-06-01 François Dumont <fdumont@gcc.gnu.org>
-
- * 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.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * 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).
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/109921
- * src/c++17/floating_from_chars.cc: Check __FLT128_MANT_DIG__ is
- defined before trying to use _Float128.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Fix for 32-bit pointers
- to check __INT_PTR_WIDTH__ instead of sizeof(void*).
- * configure: Regenerate.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * configure.ac: Replace use of -o operator for test.
- * configure: Regenerate.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/104772
- * include/std/limits (numeric_limits<__float128>): Define.
- * testsuite/18_support/numeric_limits/128bit.cc: New test.
-
-2023-05-31 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Extend logic for avr and
- msp430 to all 16-bit targets.
- * configure: Regenerate.
-
-2023-05-31 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.
-
-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.
-
-2023-05-22 Matthias Kretz <m.kretz@gsi.de>
-
- * 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.
-
-2023-05-19 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/strings.xml: Move lafstern.org reference to https.
- * doc/html/manual/strings.html: Regenerate.
-
-2023-05-17 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/109883
- * testsuite/26_numerics/headers/cmath/constexpr_std_c++23.cc: New test.
-
-2023-05-17 Jakub Jelinek <jakub@redhat.com>
-
- 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.
-
-2023-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/18_support/headers/limits/synopsis.cc: Uncomment
- checks for float_round_style and float_denorm_style.
-
-2023-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/c++config: Add system_header pragma.
-
-2023-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-05-17 Ken Matsui <kmatsui@cs.washington.edu>
-
- * include/std/type_traits: Use __bool_constant instead of
- integral_constant.
-
-2023-05-17 Jonathan Wakely <jwakely@redhat.com>
-
- * configure: Regenerate.
-
-2023-05-16 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.
-
-2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-05-16 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/ext/debug_allocator/check_deallocate_null.cc: Add
- assertion to ensure expected exception is throw.
-
-2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/libstdc++-prettyprinters/chrono.cc: Only test
- printer for chrono::zoned_time for cx11 ABI and tzdb effective
- target.
-
-2023-05-16 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_PTHREAD_MUTEX_CLOCKLOCK): Define
- _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK in terms of _GLIBCXX_TSAN.
- * configure: Regenerate.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_CHECK_C99_TR1): Use a non-null pointer
- to check for nan, nanf, and nanl.
- * configure: Regenerate.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/experimental/feat-cxx14.cc: Remove dependency on
- _GLIBCXX_USE_C99_STDINT_TR1.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/22_locale/locale/cons/unicode.cc: Remove dependency
- on _GLIBCXX_USE_C99_STDINT_TR1.
-
-2023-05-12 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/21_strings/basic_string_view/typedefs.cc: Remove
- dependency on _GLIBCXX_USE_C99_STDINT_TR1.
- * testsuite/experimental/string_view/typedefs.cc: Likewise.
-
-2023-05-11 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-11 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-11 Jonathan Wakely <jwakely@redhat.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.
-
-2023-05-10 François Dumont <fdumont@gcc.gnu.org>
-
- * 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.
-
-2023-05-04 Florian Weimer <fweimer@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.
-
-2023-05-03 Jakub Jelinek <jakub@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++/109703
- * include/bits/basic_string.h (basic_string(Iter, Iter, Alloc)):
- Initialize _M_string_length.
-
-2023-05-02 Jakub Jelinek <jakub@redhat.com>
-
- * 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.
-
-2023-05-02 Jakub Jelinek <jakub@redhat.com>
-
- PR libstdc++/109694
- * src/c++98/ios_init.cc: Add #pragma GCC diagnostic ignored for
- -Wattribute-alias.
-
-2023-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (STRIP_FROM_PATH): Remove prefixes
- from header paths.
-
-2023-04-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/move.h: Simplify opening/closing namespace std.
-
-2023-04-28 Jakub Jelinek <jakub@redhat.com>
-
- 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.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/mofunc_impl.h: Fix typo in doxygen comment.
- * include/std/format: Likewise.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/doxygen/user.cfg.in (FORMULA_TRANSPARENT, DOT_FONTNAME)
- (DOT_FONTSIZE, DOT_TRANSPARENT): Remove obsolete options.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/memory_resource.h: Improve doxygen comments.
- * include/std/memory_resource: Likewise.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-04-27 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-04-24 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-04-19 Patrick Palka <ppalka@redhat.com>
- Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-04-19 Jonathan Wakely <jwakely@redhat.com>
-
- Revert:
- 2023-04-18 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.
-
-2023-04-19 Jonathan Wakely <jwakely@redhat.com>
-
- Revert:
- 2023-04-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108969
- * config/abi/pre/gnu.ver: Fix preprocessor condition.
-
-2023-04-18 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-04-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108969
- * config/abi/pre/gnu.ver: Fix preprocessor condition.
-
-2023-04-18 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.
-
-2023-04-18 Patrick Palka <ppalka@redhat.com>
-
- 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
+2024-02-01 Patrick Palka <ppalka@redhat.com>
+
+ PR libstdc++/113309
+ PR libstdc++/109203
+ * include/bits/ranges_util.h (__detail::__pair_like): Don't
+ define in C++23 mode.
+ (__detail::__pair_like_convertible_from): Adjust as per P2165R4.
+ (__detail::__is_subrange<subrange>): Moved from <ranges>.
+ (__detail::__is_tuple_like_v<subrange>): Likewise.
+ * include/bits/stl_iterator.h: Include <bits/utility.h> for
C++23.
- * testsuite/std/ranges/version_c++23.cc: Bump expected value
- of __cpp_lib_ranges.
- * testsuite/std/ranges/range_adaptor_closure.cc: New test.
-
-2023-04-18 Patrick Palka <ppalka@redhat.com>
-
- * 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.
+ (__different_from): Move to <concepts>.
+ (__iter_key_t): Adjust for C++23 as per P2165R4.
+ (__iter_val_t): Likewise.
+ * include/bits/stl_pair.h (pair, array): Forward declare.
+ (get): Forward declare all overloads relevant to P2165R4
+ tuple-like constructors.
+ (__is_tuple_v): Define for C++23.
+ (__is_tuple_like_v): Define for C++23.
+ (__tuple_like): Define for C++23 as per P2165R4.
+ (__pair_like): Define for C++23 as per P2165R4.
+ (__eligibile_tuple_like): Define for C++23.
+ (__eligibile_pair_like): Define for C++23.
+ (pair::_S_constructible_from_pair_like): Define for C++23.
+ (pair::_S_convertible_from_pair_like): Define for C++23.
+ (pair::_S_dangles_from_pair_like): Define for C++23.
+ (pair::pair): Define overloads taking a tuple-like type for
+ C++23 as per P2165R4.
+ (pair::_S_assignable_from_tuple_like): Define for C++23.
+ (pair::_S_const_assignable_from_tuple_like): Define for C++23.
+ (pair::operator=): Define overloads taking a tuple-like type for
+ C++23 as per P2165R4.
+ * include/bits/utility.h (ranges::__detail::__is_subrange):
+ Moved from <ranges>.
+ * include/bits/version.def (tuple_like): Define for C++23.
+ * include/bits/version.h: Regenerate.
+ * include/std/concepts (__different_from): Moved from
+ <bits/stl_iterator.h>.
+ (ranges::__swap::__adl_swap): Clarify which __detail namespace.
+ * include/std/map (__cpp_lib_tuple_like): Define C++23.
+ * include/std/ranges (__detail::__is_subrange): Moved to
+ <bits/utility.h>.
+ (__detail::__is_subrange<subrange>): Moved to <bits/ranges_util.h>
+ (__detail::__has_tuple_element): Adjust for C++23 as per P2165R4.
+ (__detail::__tuple_or_pair): Remove as per P2165R4. Replace all
+ uses with plain tuple as per P2165R4.
+ * include/std/tuple (__cpp_lib_tuple_like): Define for C++23.
+ (__tuple_like_tag_t): Define for C++23.
+ (__tuple_cmp): Forward declare for C++23.
+ (_Tuple_impl::_Tuple_impl): Define overloads taking
+ __tuple_like_tag_t and a tuple-like type for C++23.
+ (_Tuple_impl::_M_assign): Likewise.
+ (tuple::__constructible_from_tuple_like): Define for C++23.
+ (tuple::__convertible_from_tuple_like): Define for C++23.
+ (tuple::__dangles_from_tuple_like): Define for C++23.
+ (tuple::tuple): Define overloads taking a tuple-like type for
+ C++23 as per P2165R4.
+ (tuple::__assignable_from_tuple_like): Define for C++23.
+ (tuple::__const_assignable_from_tuple_like): Define for C++23.
+ (tuple::operator=): Define overloads taking a tuple-like type
+ for C++23 as per P2165R4.
+ (tuple::__tuple_like_common_comparison_category): Define for C++23.
+ (tuple::operator<=>): Define overload taking a tuple-like type
+ for C++23 as per P2165R4.
+ (array, get): Forward declarations moved to <bits/stl_pair.h>.
+ (tuple_cat): Constrain with __tuple_like for C++23 as per P2165R4.
+ (apply): Likewise.
+ (make_from_tuple): Likewise.
+ (__tuple_like_common_reference): Define for C++23.
+ (basic_common_reference): Adjust as per P2165R4.
+ (__tuple_like_common_type): Define for C++23.
+ (common_type): Adjust as per P2165R4.
+ * include/std/unordered_map (__cpp_lib_tuple_like): Define for
+ C++23.
+ * include/std/utility (__cpp_lib_tuple_like): Define for C++23.
+ * testsuite/std/ranges/zip/1.cc (test01): Adjust to handle pair
+ and 2-tuple interchangeably.
+ (test05): New test.
+ * testsuite/20_util/pair/p2165r4.cc: New test.
+ * testsuite/20_util/tuple/p2165r4.cc: New test.
-2023-04-14 Jonathan Wakely <jwakely@redhat.com>
+2024-02-01 Patrick Palka <ppalka@redhat.com>
- * include/std/format (formatter): Add comment to deleted default
- constructor of primary template.
- (_Checking_scanner): Add static_assert.
+ * include/bits/stl_pair.h (pair::_S_const_assignable): Define,
+ factored out from ...
+ (pair::operator=): ... the constraints of the const overloads.
-2023-04-12 Jonathan Wakely <jwakely@redhat.com>
+2024-02-01 Jonathan Wakely <jwakely@redhat.com>
- * doc/xml/manual/using.xml: Document libstdc++exp.a library.
- * doc/html/*: Regenerate.
+ * include/bits/version.tpl: Do not use def-file-line for each
+ macro being defined.
+ * include/bits/version.h: Regenerate.
-2023-04-12 Jonathan Wakely <jwakely@redhat.com>
+2024-02-01 Jonathan Wakely <jwakely@redhat.com>
- * 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:
+ * testsuite/25_algorithms/copy/debug/constexpr_neg.cc: Adjust
+ dg-error pattern.
+ * testsuite/25_algorithms/copy_backward/debug/constexpr_neg.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.
-
-2023-04-12 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-04-12 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-04-12 Patrick Palka <ppalka@redhat.com>
-
- * src/c++17/floating_from_chars.cc: Include <algorithm>,
- <iterator>, <limits> and <cstdint>.
-
-2023-04-12 Patrick Palka <ppalka@redhat.com>
-
- 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.
-
-2023-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- 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)):
+ * testsuite/25_algorithms/equal/debug/constexpr_neg.cc:
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:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_neg.cc:
Likewise.
-
-2023-04-12 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++20/tzdata.zi: Import new file from 2023c release.
-
-2023-04-05 Arsen Arsenović <arsen@aarsen.me>
-
- * 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.
-
-2023-04-05 Arsen Arsenović <arsen@aarsen.me>
-
- * 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
-
-2023-04-05 Arsen Arsenović <arsen@aarsen.me>
-
- * testsuite/17_intro/versionconflict.cc: New test.
- * include/std/version: Allow disabling the system_header pragma
- via _GLIBCXX_TESTING_SYSHDR.
-
-2023-04-05 Arsen Arsenović <arsen@aarsen.me>
-
- * 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.
-
-2023-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/109242
- * testsuite/20_util/optional/monadic/pr109340.cc: Moved to...
- * testsuite/20_util/optional/monadic/pr109242.cc: ...here.
-
-2023-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- * 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:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_partitioned_pred_neg.cc:
Likewise.
- * testsuite/experimental/net/internet/endpoint/cons.cc:
+ * testsuite/25_algorithms/lower_bound/debug/constexpr_valid_range_neg.cc:
Likewise.
- * testsuite/experimental/net/internet/network/v4/cons.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_neg.cc:
Likewise.
- * testsuite/experimental/net/internet/network/v4/members.cc:
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_partitioned_pred_neg.cc:
Likewise.
- * testsuite/experimental/net/internet/endpoint/extensible.cc: New test.
-
-2023-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/expected (expected::value() &): Use const lvalue
- for unex member passed to bad_expected_access constructor, as
- per LWG 3843.
-
-2023-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-03-29 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-03-28 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-03-28 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/char_traits.h (char_traits::copy): Return without
- using memcpy if n==0.
- (char_traits::assign): Likewise for memset.
-
-2023-03-28 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-03-28 Jonathan Wakely <jwakely@redhat.com>
-
- 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()):
+ * testsuite/25_algorithms/upper_bound/debug/constexpr_valid_range_neg.cc:
Likewise.
- * 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.
-
-2023-03-28 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h (is_simd_flag_type): New.
- (_IsSimdFlagType): New.
- (copy_from, copy_to, load ctors): Constrain _Flags using
- _IsSimdFlagType.
-
-2023-03-28 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_x86.h (_SimdImplX86): Use
- _Base::_S_divides if the optimized _S_divides function is hidden
- via the preprocessor.
-
-2023-03-27 Jakub Jelinek <jakub@redhat.com>
-
- * testsuite/experimental/net/timer/waitable/dest.cc: Avoid -Wformat
- warning if size_t is not unsigned long.
-
-2023-03-22 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.
-
-2023-03-22 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.
-
-2023-03-22 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.
-
-2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/version (__cpp_lib_format): Define.
- * testsuite/std/format/functions/format.cc: Check it.
-
-2023-03-22 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.
-
-2023-03-22 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/format: Add a comment noting that the resolution
- of LWG 3720 has been applied..
-
-2023-03-22 Jonathan Wakely <jwakely@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.
-
-2023-03-22 Jonathan Wakely <jwakely@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.
-
-2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_x86.h
- (_SimdImplX86::_S_divides): Replace test for __GCC_IEC_559 == 0
- with __RECIPROCAL_MATH__.
-
-2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-
- * 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__.
-
-2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-
- * 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.
-
-2023-03-21 Matthias Kretz <m.kretz@gsi.de>
-
- * testsuite/experimental/simd/tests/operators.cc: Clang doesn't
- define __GCC_IEC_559. Use __STDC_IEC_559__ instead.
-2023-03-20 Jonathan Wakely <jwakely@redhat.com>
+2024-02-01 Jonathan Wakely <jwakely@redhat.com>
- * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix
- formatting.
+ * include/experimental/internet (network_v4::to_string()):
+ Remove lambda and use of resize_and_overwrite.
-2023-03-20 Marek Polacek <polacek@redhat.com>
+2024-01-31 Jonathan Wakely <jwakely@redhat.com>
- 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.
-
-2023-03-20 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/109182
- * include/std/expected (expected<void>::expected(in_place_t)):
- Remove template-head.
-
-2023-03-18 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/109165
- * testsuite/18_support/coroutines/hash.cc: Use const object
- in second call.
-
-2023-03-17 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/109165
- * include/std/coroutine (hash<>::operator()): Add const.
- * testsuite/18_support/coroutines/hash.cc: New test.
-
-2023-03-14 Patrick Palka <ppalka@redhat.com>
-
- PR libstdc++/109111
- * include/std/ranges (repeat_view): Remove redundant parentheses
- in requires-clause.
- (repeat_view::_Iterator): Correct the requires-clause.
-
-2023-03-14 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/stl_iterator.h (move_iterator::_S_iter_concept):
- Define.
- (__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.
-
-2023-03-14 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-03-14 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/chrono.h (__is_duration_v, __is_time_point_v):
- Only define for C++17 and later.
-
-2023-03-14 Jonathan Wakely <jwakely@redhat.com>
-
- * src/Makefile.am: Add comment about linker script fragments.
- * src/Makefile.in: Regenerate.
-
-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>
-
- * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update.
- * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
+ * acinclude.m4 (GLIBCXX_CHECK_TEXT_ENCODING): Use <xlocale.h> if
+ needed for newlocale.
+ * configure: Regenerate.
+ * src/c++26/text_encoding.cc: Use <xlocale.h>.
-2023-03-13 Jonathan Wakely <jwakely@redhat.com>
+2024-01-31 Jonathan Wakely <jwakely@redhat.com>
+ Ewan Higgs <ewan.higgs@gmail.com>
- * doc/Makefile.am: Add comment referring to documentation.
- * doc/Makefile.in: Regenerate.
+ * include/bits/text_encoding-data.h: Regenerate.
+ * scripts/gen_text_encoding_data.py: Add extra_aliases dict
+ containing "ASCII".
+ * testsuite/std/text_encoding/cons.cc: Check "ascii" is known.
-2023-03-13 Jonathan Wakely <jwakely@redhat.com>
+2024-01-31 Jonathan Wakely <jwakely@redhat.com>
+ * doc/xml/manual/using.xml: Update tables of supported headers.
* doc/html/*: Regenerate.
-2023-03-13 Jonny Grant <jg@jguk.org>
-
- * doc/xml/faq.xml: Update copyright year.
-
-2023-03-13 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/allocator.h: Fix typo in comment.
-
-2023-03-12 Jakub Jelinek <jakub@redhat.com>
-
- * config/abi/pre/gnu.ver (CXXABI_1.3.14): Also export __bf16 tinfos
- if it isn't mangled as DF16b but u6__bf16.
-
-2023-03-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/documentation_hacking.xml: Move www.graphviz.org
- to https.
- * doc/html/manual/documentation_hacking.html: Regenerate.
-
-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>
+2024-01-31 Jonathan Wakely <jwakely@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.
+ * include/std/bitset (_Base_bitset::_M_do_to_ullong): Avoid
+ -Wshift-count-overflow warning.
-2023-03-09 Patrick Palka <ppalka@redhat.com>
+2024-01-30 Jonathan Wakely <jwakely@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.
+ * testsuite/std/time/clock/gps/io.cc: Fix expected result in
+ assertion and call test_format() from main.
-2023-03-09 Patrick Palka <ppalka@redhat.com>
+2024-01-29 François Dumont <fdumont@gcc.gnu.org>
- 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.
+ * doc/xml/manual/debug_mode.xml: Link against libstdc++exp.a to use
+ _GLIBCXX_DEBUG_BACKTRACE macro.
-2023-03-09 Patrick Palka <ppalka@redhat.com>
+2024-01-24 Huanghui Nie <nnnjkk@gmail.com>
+ Théo Papadopoulo <papadopoulo@gmail.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.
+ * include/bits/hashtable.h (_Hahstable<>::_M_remove_bucket_begin): Remove
+ _M_before_begin check and cleanup implementation.
-2023-03-09 Jonathan Wakely <jwakely@redhat.com>
+2024-01-22 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/108882
- * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect
- patterns.
+ * testsuite/std/time/clock/file/io.cc: Fix expected result in
+ assertion and call test_format() from main.
-2023-03-07 Jakub Jelinek <jakub@redhat.com>
+2024-01-21 Jonathan Wakely <jwakely@redhat.com>
- * 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.
-
-2023-03-07 Jonathan Wakely <jwakely@redhat.com>
+ PR libstdc++/113500
+ * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix
+ printing of subseconds with floating-point rep.
+ (__formatter_chrono::_M_format_to_ostream): Do not write
+ time_point specializations directly to the ostream.
+ (formatter<chrono::sys_time<D>, C>::parse): Do not allow an
+ empty chrono-spec if the type fails to meet the constraints for
+ writing to an ostream with operator<<.
+ * testsuite/std/time/clock/file/io.cc: Check formatting
+ non-integral times with empty chrono-specs.
+ * testsuite/std/time/clock/gps/io.cc: Likewise.
+ * testsuite/std/time/clock/utc/io.cc: Likewise.
+ * testsuite/std/time/hh_mm_ss/io.cc: Likewise.
- 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}.
+2024-01-21 Jonathan Wakely <jwakely@redhat.com>
-2023-03-07 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/chrono.h (__file_clock::from_sys)
+ (__file_clock::to_sys, __file_clock::_S_from_sys)
+ (__file_clock::_S_to_sys): Use common_type for return type.
+ * testsuite/std/time/clock/file/members.cc: Check round trip
+ conversion for time with lower precision that seconds.
- * libsupc++/eh_personality.cc: Fix spelling in comment.
+2024-01-21 Jonathan Wakely <jwakely@redhat.com>
-2023-03-03 Alexandre Oliva <oliva@adacore.com>
+ PR libstdc++/113512
+ * include/std/format (__formatter_fp::format): Fix logic for
+ alternate forms.
+ * testsuite/std/format/functions/format.cc: Check buggy cases of
+ alternate forms with g presentation type.
- * testsuite/30_threads/async/async.cc (test04): Initialize
- steady_start, renamed from steady_begin, next to slow_start.
- Increase tolerance for final wait.
+2024-01-20 Marek Polacek <polacek@redhat.com>
-2023-03-03 Alexandre Oliva <oliva@adacore.com>
+ PR c++/111410
+ * include/std/ranges: Add #pragma to disable -Wdangling-reference with
+ std::ranges::views::__adaptor::operator|.
- * testsuite/libstdc++-prettyprinters/80276.cc: Add
- std::string to debug info.
- * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise.
+2024-01-19 Jonathan Wakely <jwakely@redhat.com>
-2023-03-03 Alexandre Oliva <oliva@adacore.com>
+ * include/std/format (_Spec::_M_parse_fill_and_align): Do not
+ use CTAD for _Utf32_view.
- 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.
-
-2023-03-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.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.
+2024-01-19 Jonathan Wakely <jwakely@redhat.com>
-2023-03-01 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/cow_string.h: Fix typo in comment.
-
-2023-03-01 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-28 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-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
+ PR libstdc++/108822
+ * include/std/tuple (__glibcxx_no_dangling_refs) [C++17]: Fix
+ wrong fold-operator.
+ * testsuite/20_util/tuple/dangling_ref.cc: Check tuples with one
+ element and three elements. Check allocator-extended
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.
-
-2023-02-24 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.
-
-2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+2024-01-19 Patrick Palka <ppalka@redhat.com>
- * include/experimental/internet (address_v4::to_string):
- Optimize.
- * testsuite/experimental/net/internet/address/v4/members.cc:
- Check more addresses.
+ * include/precompiled/stdc++.h [_GLIBCXX_HOSTED]: Include
+ <print> and <text_encoding> for C++23 and C++26 respectively.
-2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+2024-01-18 Patrick Palka <ppalka@redhat.com>
- * include/ext/aligned_buffer.h (__aligned_buffer): Add
- diagnostic pragmas.
+ * include/bits/stl_pair.h [__cplusplus > 202002L]:
+ Guard P2321R2 changes with __glibcxx_ranges_zip instead.
-2023-02-24 Jonathan Wakely <jwakely@redhat.com>
+2024-01-18 Patrick Palka <ppalka@redhat.com>
- * testsuite/std/format/arguments/lwg3810.cc: Move dg-options
- before dg-do.
+ * include/std/tuple [__cplusplus > 202002L]: Guard P2321R2
+ changes with __cpp_lib_ranges_zip instead.
-2023-02-23 Matthias Kretz <m.kretz@gsi.de>
+2024-01-18 Patrick Palka <ppalka@redhat.com>
- * testsuite/experimental/simd/tests/reductions.cc: Introduce
- max_distance as the type-dependent max error.
-
-2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_builtin.h (_S_set): Compare as
- int. The actual range of these indexes is very small.
-
-2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd_x86.h (_S_bit_shift_left)
- (_S_bit_shift_right): Declare constexpr. The implementation was
- already expecting constexpr evaluation.
-
-2023-02-23 Matthias Kretz <m.kretz@gsi.de>
-
- PR libstdc++/108030
- * include/experimental/bits/simd_detail.h
- (_GLIBCXX_SIMD_ALWAYS_INLINE_LAMBDA): Define as empty for
- __clang__.
-
-2023-02-23 Matthias Kretz <m.kretz@gsi.de>
+ PR libstdc++/109536
+ * include/debug/safe_base.h (_Safe_sequence_base::_M_swap):
+ Remove _GLIBCXX20_CONSTEXPR from non-inline member function.
+ * include/debug/safe_iterator.h
+ (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_BEGIN): Define.
+ (_GLIBCXX20_CONSTEXPR_NON_LITERAL_SCOPE_END): Define.
+ (_Safe_iterator::operator=): Use them around the code path that
+ defines a variable of type __gnu_cxx::__scoped_lock.
+ (_Safe_iterator::operator++): Likewise.
+ (_Safe_iterator::operator--): Likewise.
+ (_Safe_iterator::operator+=): Likewise.
+ (_Safe_iterator::operator-=): Likewise.
+ * testsuite/23_containers/vector/element_access/constexpr.cc
+ (test_iterators): Test more iterator operations.
+ * testsuite/23_containers/vector/bool/element_access/constexpr.cc
+ (test_iterators): Likewise.
+ * testsuite/std/ranges/adaptors/all.cc (test08) [_GLIBCXX_DEBUG]:
+ Remove.
- 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.
+2024-01-18 Jonathan Wakely <jwakely@redhat.com>
-2023-02-22 Alexandre Oliva <oliva@adacore.com>
+ * include/bits/unicode.h (__charset_alias_match): Initialize
+ __var_a and __var_b.
- * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
- Avoid destruction of the mutex pool.
+2024-01-18 Jonathan Wakely <jwakely@redhat.com>
-2023-02-22 Alexandre Oliva <oliva@adacore.com>
+ PR libstdc++/113450
+ * testsuite/std/format/functions/format.cc: Use signed char
+ instead of int8_t.
- * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail
- on vxworks.
- * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc:
- Likewise.
+2024-01-17 Jonathan Wakely <jwakely@redhat.com>
-2023-02-22 Alexandre Oliva <oliva@adacore.com>
-
- * testsuite/17_intro/names.cc: Undef func on vxworks >= 7 in
- kernel mode.
-
-2023-02-20 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/abi/post/m68k-linux-gnu/baseline_symbols.txt: Update.
-
-2023-02-20 Matthias Kretz <m.kretz@gsi.de>
-
- * include/experimental/bits/simd.h (__extract_part, split):
- Use reserved name for template parameter.
-
-2023-02-20 Andreas Schwab <schwab@suse.de>
-
- * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update.
-
-2023-02-18 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/faq.xml: Switch two links to www.open-std.org to https.
- * doc/html/faq.html: Regenerate.
-
-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.
-
-2023-02-16 Matthias Kretz <m.kretz@gsi.de>
-
- * 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.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/std/format/arguments/lwg3810.cc: Replace UTF-8
- ellipsis character.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/Makefile.am: Add new header.
+ PR libstdc++/113318
+ * acinclude.m4 (GLIBCXX_CONFIGURE): Add c++26 directory.
+ (GLIBCXX_CHECK_TEXT_ENCODING): Define.
+ * config.h.in: Regenerate.
+ * configure: Regenerate.
+ * configure.ac: Use GLIBCXX_CHECK_TEXT_ENCODING.
+ * include/Makefile.am: Add new headers.
* include/Makefile.in: Regenerate.
- * include/experimental/synchronized_value: New file.
- * testsuite/experimental/synchronized_value.cc: New test.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/experimental/optional: Fix header name in comment.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names_pstl.cc: Require et tbb_backend.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * include/ext/throw_allocator.h: Use reserved names for
- parameters.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * testsuite/17_intro/names_pstl.cc: Add space after effective
- target name.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-16 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-14 Gerald Pfeifer <gerald@pfeifer.com>
-
- * 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.
-
-2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
-
- 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.
-
-2023-02-14 Thomas W Rodgers <rodgert@twrodgers.com>
-
- 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.
-
-2023-02-13 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/policy_data_structures_biblio.xml: Adjust
- "The Component Object Model" reference.
- * doc/html/manual/policy_data_structures.html: Regenerate.
-
-2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/containers.xml: Tweak a link to N1780
- (C++ standard).
- * doc/html/manual/associative.html: Regenerate.
-
-2023-02-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/ctype.xml: Change www.unix.org to unix.org.
- * doc/html/manual/facets.html: Regenerate.
-
-2023-02-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/policy_data_structures_biblio.xml: Update
- link to "Worst-case efficient priority queues".
- * doc/html/manual/policy_data_structures.html: Regenerate.
-
-2023-02-06 Arsen Arsenović <arsen@aarsen.me>
-
- * 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.
-
-2023-02-06 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/ranges_algo.h (__find_last_fn): Rename T to _Tp.
- (__find_last_if_fn): Likewise.
-
-2023-02-06 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
-
- * 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.
-
-2023-02-06 Nathaniel Shead <nathanieloshead@gmail.com>
-
- * 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.
-
-2023-02-06 Arsen Arsenović <arsen@aarsen.me>
-
- * 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.
+ * include/bits/locale_classes.h (locale::encoding): Declare new
+ member function.
+ * include/bits/unicode.h (__charset_alias_match): New function.
+ * include/bits/text_encoding-data.h: New file.
+ * include/bits/version.def (text_encoding): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/text_encoding: New file.
+ * src/Makefile.am: Add new subdirectory.
* 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.
-
-2023-02-06 Jonathan Wakely <jwakely@redhat.com>
-
- * src/Makefile.am [GLIBCXX_HOSTED] (SUBDIRS): Do not add
- filesystem, libbacktrace and experimental.
- * src/Makefile.in: Regenerate.
-
-2023-02-04 Hans-Peter Nilsson <hp@axis.com>
-
- PR libstdc++/108672
- * include/pstl/unseq_backend_simd.h (__simd_or): Use __INT32_TYPE__
- instead of int32_t.
-
-2023-02-04 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/documentation_hacking.xml: Adjust link to pdftex.
- * doc/html/manual/documentation_hacking.html: Regenerate.
-
-2023-02-04 François Dumont <fdumont@gcc.gnu.org>
-
- * 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.
-
-2023-02-03 Samuel Thibault <samuel.thibault@gnu.org>
-
- * config/os/gnu-linux/os_defines.h [!__linux__]
- (_GLIBCXX_NATIVE_THREAD_ID, _GLIBCXX_GTHREAD_USE_WEAK): Do not define.
-
-2023-02-03 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-02-03 Patrick Palka <ppalka@redhat.com>
-
- * include/bits/ranges_algo.h (out_value_result): Define.
- (iota_result): Define.
- (__iota_fn, iota): Define.
- * testsuite/25_algorithms/iota/1.cc: New test.
-
-2023-02-03 Patrick Palka <ppalka@redhat.com>
-
- * 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.
-
-2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/abi.xml: Tweak link to ABIcheck project.
- * doc/html/manual/abi.html: Regenerate.
-
-2023-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- * src/filesystem/ops-common.h [AVR] (__unsupported): Always use
- errc::function_not_supported instead of errc::not_supported.
-
-2023-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
- * testsuite/27_io/basic_ostringstream/view/char/1.cc: Likewise.
- * testsuite/27_io/basic_ostringstream/view/wchar_t/1.cc:
- Likewise.
- * 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.
-
-2023-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- 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.
-
-2023-02-02 Jonathan Wakely <jwakely@redhat.com>
-
- * include/std/variant (variant::operator=): Implement resolution
- of LWG 3585.
- * testsuite/20_util/variant/lwg3585.cc: New test.
-
-2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/using_exceptions.xml: Update a www.open-std.org
- link to https.
- * doc/html/manual/using_exceptions.html: Regenerate.
-
-2023-02-02 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/debug.xml: Fix link to online GDB manual.
- * doc/html/manual/debug.html: Regenerate.
-
-2023-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
+ * src/c++26/Makefile.am: New file.
+ * src/c++26/Makefile.in: New file.
+ * src/c++26/text_encoding.cc: New file.
+ * src/experimental/Makefile.am: Include c++26 convenience
+ library.
+ * src/experimental/Makefile.in: Regenerate.
+ * python/libstdcxx/v6/printers.py (StdTextEncodingPrinter): New
+ printer.
+ * scripts/gen_text_encoding_data.py: New file.
+ * testsuite/22_locale/locale/encoding.cc: New test.
+ * testsuite/ext/unicode/charset_alias_match.cc: New test.
+ * testsuite/std/text_encoding/cons.cc: New test.
+ * testsuite/std/text_encoding/members.cc: New test.
+ * testsuite/std/text_encoding/requirements.cc: New test.
+
+2024-01-17 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/unicode.h (_Grapheme_cluster_view): Require view.
+ Do not use CTAD for _Utf32_view.
+ (__format_width, __truncate): Do not use CTAD.
+ (enable_borrowed_range<_Utf_view<T, R>>): Define specialization.
+ (enable_borrowed_range<_Grapheme_cluster_view<R>>): Likewise.
+
+2024-01-17 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (views::_CartesianProduct::operator()):
+ Adjust identity case as per P2540R1.
+ * testsuite/std/ranges/cartesian_product/1.cc (test01):
+ Adjust expected result of the identity case.
+
+2024-01-15 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/variant (__detail::__variant::_Variadic_union):
+ Add bool __trivially_destructible template parameter.
+ (__detail::__variant::_Variadic_union::~_Variadic_union):
+ Use __trivially_destructible in constraints instead.
+ (__detail::__variant::_Variant_storage): Pass
+ __trivially_destructible value to _Variadic_union.
+
+2024-01-15 Patrick Palka <ppalka@redhat.com>
+
+ * include/bits/stl_iterator.h (const_iterator): Define conversion
+ operators as per P2836R1.
+ * include/bits/version.def (ranges_as_const): Update value.
+ * include/bits/version.h: Regenerate.
+ * testsuite/24_iterators/const_iterator/1.cc (test04): New test.
+ * testsuite/std/ranges/adaptors/as_const/1.cc: Adjust expected
+ value of __cpp_lib_ranges_as_const.
+ * testsuite/std/ranges/version_c++23.cc: Likewise.
+
+2024-01-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108822
+ * include/std/tuple (__assignable, __is_nothrow_assignable):
+ Move pre-C++20 definitions adjacent to their use.
+
+2024-01-15 Jonathan Wakely <jwakely@redhat.com>
+
+ PR testsuite/113366
+ * include/std/format (basic_format_arg): Use __formattable
+ variable template instead of __format::__formattable_with
+ concept.
+
+2024-01-15 Jonathan Wakely <jwakely@redhat.com>
+
+ * src/c++20/tzdata.zi: Import new file from 2023d release.
+ * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds)
+ Update expiry date for leap seconds list.
+
+2024-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/108822
+ * include/std/tuple (tuple): Add checks for dangling references.
+ Reimplement constraints and constant expressions using C++20
+ features.
+ * include/std/type_traits [C++20]
+ (__is_implicitly_default_constructible_v): Define.
+ (__is_implicitly_default_constructible): Use variable template.
+ * testsuite/20_util/tuple/dangling_ref.cc: New test.
+
+2024-01-13 Patrick Palka <ppalka@redhat.com>
-2023-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
-
-2023-02-01 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ZONEINFO_DIR) [avr-*-*, msp430-*-*]: Set
- embed_zoneinfo=no
- * configure: Regenerate.
-
-2023-02-01 Hans-Peter Nilsson <hp@axis.com>
-
- PR testsuite/108632
- * testsuite/std/time/hh_mm_ss/1.cc (size): Add empty
- struct at end of S0.
-
-2023-01-30 Gerald Pfeifer <gerald@pfeifer.com>
-
- * 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.
-
-2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
-
- * 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.
-
-2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/documentation_hacking.xml: Move sourceforge.net
- links to https.
- * doc/html/manual/documentation_hacking.html: Regenerate.
-
-2023-01-28 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/xml/manual/abi.xml: Update www.open-std.org link to https.
- * doc/html/manual/abi.html: Regenerate.
-
-2023-01-27 Jakub Jelinek <jakub@redhat.com>
-
- 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.
-
-2023-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- * src/c++20/tzdb.cc (tzdata_stream): Use constant instead of
- string literal.
-
-2023-01-27 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108554
- * testsuite/23_containers/map/modifiers/108554.cc: Use dg-bogus.
+ PR libstdc++/108827
+ PR libstdc++/111327
+ * include/bits/version.def (bind_back): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/functional (_Bind_back): Define for C++23.
+ (bind_back): Likewise.
+ * testsuite/20_util/function_objects/bind_back/1.cc: New test
+ (adapted from corresponding bind_front test).
+ * testsuite/20_util/function_objects/bind_back/111327.cc: Likewise.
+
+2024-01-13 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/functional (_Bind_front): Remove =default special
+ member function declarations.
+ (_Bind_front::operator()): Implement using C++23 deducing this
+ when available.
+ * testsuite/20_util/function_objects/bind_front/111327.cc:
+ Adjust testcase to expect better errors in C++23 mode.
+
+2024-01-13 Patrick Palka <ppalka@redhat.com>
+
+ * include/std/ranges (views::__adaptor::operator|): Perform
+ perfect forwarding of arguments.
+ (views::__adaptor::_RangeAdaptor::operator()): Pass dummy
+ first argument to _Partial.
+ (views::__adaptor::_Partial::_Partial): Likewise. Add dummy
+ first parameter.
+ (views::__adaptor::_Pipe::_Pipe): Perform perfect forwarding
+ of arguments.
+ (to): Pass dummy first argument to _Partial.
+
+2024-01-13 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/107466
+ * include/bits/random.tcc (subtract_with_carry_engine::seed):
+ Implement proposed resolution of LWG 4014.
+ * testsuite/26_numerics/random/pr60037-neg.cc: Adjust dg-error
+ line number.
+ * testsuite/26_numerics/random/subtract_with_carry_engine/cons/lwg3809.cc:
+ Check for expected result of 64-bit engine with seed that
+ doesn't fit in 32-bits.
+
+2024-01-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/113320
+ * include/std/format (__format::_Runtime_format_string): Add
+ constructor and disable copy operations.
+ (basic_format_string(_Runtime_format_string)): Add noexcept and
+ take parameter by value not rvalue reference.
+ (runtime_format): Add noexcept.
+ * testsuite/std/format/runtime_format.cc: Check noexcept. Check
+ that construction is only possible from prvalues, not xvalues.
+
+2024-01-12 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/105505
+ * include/bits/stl_pair.h (pair::pair(U1&&, U2&&)) [C++23]: Add
+ default template arguments, as per P1951R1.
+ * testsuite/20_util/pair/cons/default_tmpl_args.cc: New test.
+
+2024-01-12 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/format (__format::_Arg_store): Fix PR number in
+ comment. Simplify preprocessor code.
+
+2024-01-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Fix spelling.
+ * doc/html/manual/api.html: Regenerate.
+
+2024-01-11 Jonathan Wakely <jwakely@redhat.com>
+
+ * doc/xml/manual/evolution.xml: Document addition of
+ libstdc++exp.a.
+ * doc/html/*: Regenerate.
-2023-01-26 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 Marcus Haehnel <marcus.haehnel@kernkonzept.com>
- * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow
- rules named "+" for compatibility with older tzdata.zi files.
+ * libsupc++/eh_unex_handler.cc: Adjust definition type to
+ declaration.
-2023-01-26 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 Michael Levine <mlevine55@bloomberg.net>
- 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.
+ * include/std/ranges (__glibcxx_want_ranges_iota): Remove
+ duplicate definition.
-2023-01-26 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 François Dumont <fdumont@gcc.gnu.org>
- PR libstdc++/108530
- * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in
- /etc/sysconfig/clock, not DEFAULT_TIMEZONE.
+ PR libstdc++/112477
+ * src/c++11/debug.cc
+ (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null
+ sequence.
+ (_Safe_iterator_base::_M_attach_single): Likewise.
+ (_Safe_local_iterator_base::_M_attach): Likewise.
+ (_Safe_local_iterator_base::_M_attach_single): Likewise.
+ * testsuite/23_containers/map/debug/112477.cc: New test case.
-2023-01-26 Gerald Pfeifer <gerald@pfeifer.com>
+2024-01-11 Patrick Palka <ppalka@redhat.com>
- * doc/xml/manual/intro.xml: Update links to www.open-std.org to
- use https.
- * doc/html/manual/bugs.html: Regenerate.
+ * include/bits/move.h (__like_t): Define in C++23 mode.
+ * include/std/ranges (views::__adaptor::Partial::operator()):
+ Implement using C++23 deducing this when available.
+ (views::__adaptor::_Pipe::operator()): Likewise.
+ * testsuite/std/ranges/adaptors/100577.cc: Adjust testcase to
+ accept new "no match for call" errors issued in C++23 mode.
+ * testsuite/std/ranges/adaptors/lazy_split_neg.cc: Likewise.
-2023-01-24 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 Jonathan Wakely <jwakely@redhat.com>
- PR libstdc++/108530
- * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in
- /etc/sysconfig/clock.
+ * python/libstdcxx/v6/printers.py (StdIntegralConstantPrinter):
+ Add printer for std::integral_constant.
+ * testsuite/libstdc++-prettyprinters/cxx11.cc: Test it.
-2023-01-24 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 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.
+ PR libstdc++/113258
+ * libsupc++/new_opa.cc: Prefer to use posix_memalign if
+ available.
-2023-01-23 François Dumont <fdumont@gcc.gnu.org>
+2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
- * 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.
+ * src/filesystem/ops-common.h (stat_type): Use using.
-2023-01-18 Jonathan Wakely <jwakely@redhat.com>
+2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
- * 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:
+ PR libstdc++/113250
+ * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&.
+ * src/filesystem/ops.cc (fs::equivalent): Likewise.
+ * testsuite/27_io/filesystem/operations/equivalent.cc: Handle
+ error codes.
+ * testsuite/experimental/filesystem/operations/equivalent.cc:
Likewise.
- * 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.
-
-2023-01-18 Jonathan Wakely <jwakely@redhat.com>
-
- * include/bits/random.h (random_device) [!_GLIBCXX_USE_DEV_RANDOM]:
- Always call _M_fini and _M_getentropy.
-
-2023-01-18 Gerald Pfeifer <gerald@pfeifer.com>
-
- * 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.
-
-2023-01-18 Dimitrij Mijoski <dmjpp@hotmail.com>
-
- * 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.
-
-2023-01-17 Jonathan Wakely <jwakely@redhat.com>
-
- * acinclude.m4 (GLIBCXX_ZONEINFO_DIR): Check $target_os instead
- of $host. Fix check for file being present during native build.
- * configure: Regenerate.
-
-2023-01-17 Martin Liska <mliska@suse.cz>
- * src/libbacktrace/Makefile.in: Regenerate.
+2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org>
-2023-01-16 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/type_traits (is_compound): Do not use __not_.
+ (is_compound_v): Use is_fundamental_v instead.
- * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1.
+2024-01-11 Patrick Palka <ppalka@redhat.com>
-2023-01-16 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/utility.h (_Nth_type): Use
+ _GLIBCXX_USE_BUILTIN_TRAIT instead of __has_builtin.
- 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.
+2024-01-09 Jonathan Wakely <jwakely@redhat.com>
-2023-01-15 Gerald Pfeifer <gerald@pfeifer.com>
+ * include/bits/unicode-data.h: Regenerate.
+ * include/bits/unicode.h (_Utf_iterator::operator++()): Fix off
+ by one error.
+ (__incb_property): Add missing check for values before the
+ first edge.
+ (__is_extended_pictographic): Invert return values to fix
+ copy&pasted logic.
+ (_Grapheme_cluster_view::_Iterator): Remove second iterator
+ member and find end of cluster lazily.
+ * testsuite/ext/unicode/grapheme_view.cc: New test.
+ * testsuite/ext/unicode/properties.cc: New test.
+ * testsuite/ext/unicode/view.cc: New test.
- * 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.
+2024-01-09 Andreas Schwab <schwab@linux-m68k.org>
-2023-01-15 Jonathan Wakely <jwakely@redhat.com>
+ * scripts/extract_symvers.in: Require final colon to only match
+ .dsynsym in the header of the dynamic symtab.
- * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if
- and fail gracefully if defining the weak symbol doesn't work.
+2024-01-09 Jonathan Wakely <jwakely@redhat.com>
-2023-01-15 François Dumont <fdumont@gcc.gnu.org>
+ * include/bits/chrono_io.h (__formatter_chrono::_M_F): Simplify
+ handling of string returned from std::format.
+ (__formatter_chrono::_M_R_T): Likewise.
- 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.
+2024-01-08 Jonathan Wakely <jwakely@redhat.com>
-2023-01-15 Jonathan Wakely <jwakely@redhat.com>
+ * include/bits/unicode.h (__null_sentinel): Remove.
+ * testsuite/17_intro/names.cc: Add __null_sentinel.
- * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from
- dg-options.
+2024-01-08 Jonathan Wakely <jwakely@redhat.com>
-2023-01-15 Jonathan Wakely <jwakely@redhat.com>
+ * include/std/format (__format::_Runtime_format_string): Define
+ new class template.
+ (basic_format_string): Add non-consteval constructor for runtime
+ format strings.
+ (runtime_format): Define new function for C++26.
+ * testsuite/std/format/runtime_format.cc: New test.
- * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char.
+2024-01-08 Jonathan Wakely <jwakely@redhat.com>
-2023-01-14 Björn Schäpers <bjoern@hazardy.de>
-
- * 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.
-
-2023-01-14 Björn Schäpers <bjoern@hazardy.de>
-
- * include/std/stacktrace (stacktrace_entry::_S_demangle): Use
- raw __name if __cxa_demangle could not demangle it.
-
-2023-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108409
- * src/c++20/tzdb.cc (current_zone()) [_AIX]: Use TZ environment
- variable.
-
-2023-01-14 Jonathan Wakely <jwakely@redhat.com>
-
- * 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.
+ * include/bits/chrono_io.h (__formatter_chrono): Always use
+ lvalue arguments to make_format_args.
+ * include/std/format (make_format_args): Change parameter pack
+ from forwarding references to lvalue references. Remove use of
+ remove_reference_t which is now unnecessary.
+ (format_to, formatted_size): Remove incorrect forwarding of
+ arguments.
+ * include/std/ostream (print): Remove forwarding of arguments.
+ * include/std/print (print): Likewise.
+ * testsuite/20_util/duration/io.cc: Use lvalues as arguments to
+ make_format_args.
+ * testsuite/std/format/arguments/args.cc: Likewise.
+ * testsuite/std/format/arguments/lwg3810.cc: Likewise.
+ * testsuite/std/format/functions/format.cc: Likewise.
+ * testsuite/std/format/functions/vformat_to.cc: Likewise.
+ * testsuite/std/format/string.cc: Likewise.
+ * testsuite/std/time/day/io.cc: Likewise.
+ * testsuite/std/time/month/io.cc: Likewise.
+ * testsuite/std/time/weekday/io.cc: Likewise.
+ * testsuite/std/time/year/io.cc: Likewise.
+ * testsuite/std/time/year_month_day/io.cc: Likewise.
+ * testsuite/std/format/arguments/args_neg.cc: New test.
-2023-01-14 Jonathan Wakely <jwakely@redhat.com>
+2024-01-08 Jonathan Wakely <jwakely@redhat.com>
- * 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.
- * 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++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>
-
- * include/Makefile.am: Install bits/char_traits.h,
- std/string_view
+ * include/Makefile.am: Add new headers.
* 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
+ * include/bits/unicode.h: New file.
+ * include/bits/unicode-data.h: New file.
+ * include/std/format: Include <bits/unicode.h>.
+ (__literal_encoding_is_utf8): Move to <bits/unicode.h>.
+ (_Spec::_M_fill): Change type to char32_t.
+ (_Spec::_M_parse_fill_and_align): Read a Unicode scalar value
+ instead of a single character.
+ (__write_padded): Change __fill_char parameter to char32_t and
+ encode it into the output.
+ (__formatter_str::format): Use new __unicode::__field_width and
+ __unicode::__truncate functions.
+ * include/std/ostream: Adjust namespace qualification for
+ __literal_encoding_is_utf8.
+ * include/std/print: Likewise.
+ * src/c++23/print.cc: Add [[unlikely]] attribute to error path.
+ * testsuite/ext/unicode/view.cc: New test.
+ * testsuite/std/format/functions/format.cc: Add missing examples
+ from the standard demonstrating alignment with non-ASCII
+ characters. Add examples checking correct handling of extended
+ grapheme clusters.
+
+2024-01-08 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/bits/version.def (format_uchar): Define.
+ * include/bits/version.h: Regenerate.
+ * include/std/format (formatter<C, C>::format): Check for
+ _Pres_c and call _M_format_character directly. Cast C to its
+ unsigned equivalent for formatting as an integer.
+ (formatter<char, wchar_t>::format): Likewise.
+ (basic_format_arg(T&)): Store char arguments as unsigned char
+ for formatting to a wide string.
+ * testsuite/std/format/functions/format.cc: Adjust test. Check
+ formatting of
+
+2024-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ PR libstdc++/112997
+ * libsupc++/unwind-cxx.h (__cxa_call_terminate): Change first
+ parameter to void*.
+
+2024-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * testsuite/20_util/variant/87619.cc: Remove dg-timeout-factor.
+
+2024-01-07 Jonathan Wakely <jwakely@redhat.com>
+
+ * include/std/type_traits (is_trivially_destructible_v): Use
+ built-in directly when concepts are supported.
+ * testsuite/20_util/is_trivially_destructible/value_v.cc: New
test.
-2023-01-13 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.
-
-2023-01-13 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.
-
-2023-01-13 Jonathan Wakely <jwakely@redhat.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.
-
-2023-01-12 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.
-
-2023-01-12 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/xml/manual/abi.xml: Add latest library versions.
- * doc/html/manual/abi.html: Regenerate.
-
-2023-01-12 François Dumont <fdumont@gcc.gnu.org>
-
- PR libstdc++/107189
- * include/bits/stl_tree.h (_Rb_tree<>::_M_insert_range_equal): Remove
- unused _Alloc_node instance.
-
-2023-01-12 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.
+2024-01-06 Gwenole Beauchesne <gb.devel@gmail.com>
-2023-01-10 Jonathan Wakely <jwakely@redhat.com>
+ * testsuite/tr1/8_c_compatibility/cinttypes/functions.cc: Use
+ nonnull arguments to strtoimax() and wcstoimax() functions.
- * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and
- __catch macros for exception handling.
+2024-01-05 Jonathan Wakely <jwakely@redhat.com>
-2023-01-10 Jonathan Wakely <jwakely@redhat.com>
+ * src/c++17/fs_path.cc (path::_List::reserve): Limit maximum
+ size and check for overflows in arithmetic.
+ (path::operator/=(const path&)): Remove redundant exponential
+ growth calculation.
- 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.
+2024-01-05 Martin Küttler <martin.kuettler@kernkonzept.com>
-2023-01-10 Jonathan Wakely <jwakely@redhat.com>
+ * src/c++17/fs_path.cc (path::_List::reserve): Avoid
+ floating-point arithmetic.
- PR libstdc++/108221
- * include/std/span (span::span()): Un-simplify constraint to
- work for size_t of lesser rank than int.
+2024-01-05 Jonathan Wakely <jwakely@redhat.com>
-2023-01-07 LIU Hao <lh_mouse@126.com>
+ PR libstdc++/113241
+ * include/std/type_traits (is_convertible_v): Guard use of
+ built-in with preprocessor check.
- 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.
+2024-01-05 Jonathan Wakely <jwakely@redhat.com>
-2023-01-06 Jonathan Wakely <jwakely@redhat.com>
-
- PR libstdc++/108228
- * src/c++20/tzdb.cc (zoneinfo_dir): Add diagnostic pragma.
-
-2023-01-06 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.
-
-2023-01-06 Patrick Palka <ppalka@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.
-
-2023-01-06 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.
-
-2023-01-06 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++/113200
+ * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use
+ __builtin_constant_p to check for unrelated pointers that cannot
+ be compared during constant evaluation.
+ * testsuite/21_strings/char_traits/requirements/113200.cc: New
+ test.
-2023-01-06 Jonathan Wakely <jwakely@redhat.com>
+2024-01-05 Cassio Neri <cassio.neri@gmail.com>
- 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.
+ * include/std/chrono: Fix + and - for months and weekdays.
+ * testsuite/std/time/month/1.cc: Add constexpr tests against overflow.
+ * testsuite/std/time/month/2.cc: New test for extreme values.
+ * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow.
+ * testsuite/std/time/weekday/2.cc: New test for extreme values.
-2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+2024-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.
+ PR libstdc++/113099
+ * include/bits/locale_classes.tcc (__try_use_facet): Use
+ if-constexpr for C++11 and up.
-2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+2024-01-05 Ken Matsui <kmatsui@gcc.gnu.org>
- 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.
+ * include/std/type_traits: Use _GLIBCXX_USE_BUILTIN_TRAIT.
-2023-01-05 Jonathan Wakely <jwakely@redhat.com>
+2024-01-04 Arsen Arsenović <arsen@aarsen.me>
- 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/std/generator (_Subyield_state::_M_jump_in): Fix typo
+ reported by Will Hawkins <hawkinsw@obs.cr>.
-2023-01-04 Iain Sandoe <iain@sandoe.co.uk>
+2024-01-04 Arsen Arsenović <arsen@aarsen.me>
- PR libstdc++/108228
- * config/abi/pre/gnu.ver (GLIBCXX_3.4):
- Add __gnu_cxx::zoneinfo_dir_override().
+ * include/std/generator (_Stateless_alloc): Rename typename _A
+ to _All.
-2023-01-04 Jonathan Wakely <jwakely@redhat.com>
+2024-01-03 Patrick Palka <ppalka@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().
+ PR testsuite/113175
+ * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce
+ 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly.
+ (test03): Likewise.
\f
-Copyright (C) 2023 Free Software Foundation, Inc.
+Copyright (C) 2024 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright