| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-04-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/chrono (chrono::__detail::__get_leap_second_info): |
| Update expiry date for leap seconds list. |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds): |
| Likewise. |
| * src/c++20/tzdata.zi: Import new file from 2026a release. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-12-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/chrono (chrono::__detail::__get_leap_second_info): |
| Update expiry date for leap seconds list. |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds): |
| Likewise. |
| * src/c++20/tzdata.zi: Import new file from 2025c release. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-06-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/120390 |
| * include/bits/stl_construct.h (_Destroy_aux::__destroy_n): New |
| static member function. |
| (_Destroy_aux<true>::__destroy_n): Likewise. |
| (_Destroy_n_aux): Remove. |
| (_Destroy(ForwardIterator, ForwardIterator)): Remove |
| static_assert. Use is_trivially_destructible instead of |
| __has_trivial_destructor. |
| (_Destroy_n): Likewise. Use _Destroy_aux::__destroy_n instead of |
| _Destroy_n_aux::__destroy_n. |
| * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_neg.cc: |
| Adjust dg-error strings. Move destroy_n tests to ... |
| * testsuite/20_util/specialized_algorithms/memory_management_tools/destroy_n_neg.cc: |
| New test. |
| * testsuite/23_containers/vector/cons/destructible_debug_neg.cc: |
| Adjust dg-error strings. |
| * testsuite/23_containers/vector/cons/destructible_neg.cc: |
| Likewise. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/stl_construct.h (_Destroy(FwdIter, FwdIter)): Use |
| 'if constexpr' instead of dispatching to a member function of a |
| class template. |
| (_Destroy_n(FwdIter, Size)): Likewise. |
| (_Destroy_aux, _Destroy_n_aux): Only define for C++98. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/stl_construct.h (construct_at): Guard |
| with feature test macros instead of just __cplusplus. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/102259 |
| * config/io/basic_file_stdio.cc (basic_file::xsgetn): Limit n to |
| _GLIBCXX_MAX_READ_SIZE if that macro is defined. |
| * config/os/bsd/darwin/os_defines.h (_GLIBCXX_MAX_READ_SIZE): |
| Define to INT_MAX-1. |
| * config/os/bsd/freebsd/os_defines.h (_GLIBCXX_MAX_READ_SIZE): |
| Likewise. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++17/fs_path.cc (path::operator+=): Use pointer |
| comparison to detect aliasing instead of a loop. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-05-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/120029 |
| * src/c++17/fs_path.cc (path::operator+=(const path&)): Handle |
| parameters that alias the path or one of its components. |
| * testsuite/27_io/filesystem/path/concat/120029.cc: New test. |
| * testsuite/experimental/filesystem/path/concat/120029.cc: New |
| test. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-05-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/120293 |
| * include/bits/chrono_io.h (_M_format_to_ostream): Add special |
| case for local_time convertible to local_days. |
| * testsuite/std/time/clock/local/io.cc: Check formatting of |
| chrono::local_days. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__local_fmt_t): Remove unused |
| declaration. |
| (__formatter_chrono::_M_format_to_ostream): Add explicit |
| handling for specializations of __local_time_fmt, including the |
| time zone abbreviation in the output if __is_neg is true. |
| (formatter<chrono::tai_time<D>>::format): Add comment. |
| (formatter<chrono::gps_time<D>>::format): Likewise. |
| (formatter<chrono::__detail::__local_time_fmt::format): Call |
| _M_format with true for the __is_neg flag. |
| * testsuite/std/time/clock/gps/io.cc: Remove unused variable. |
| * testsuite/std/time/clock/local/io.cc: New file. |
| * testsuite/std/time/clock/system/io.cc: Check empty |
| chrono-specs. |
| * testsuite/std/time/clock/tai/io.cc: Likewise. |
| * testsuite/std/time/zoned_time/io.cc: Likewise. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-02-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/121771 |
| * include/std/tuple (tuple::tuple(const Elements&...)): Use |
| type_identity_t to prevent constructor being used for CTAD. |
| (tuple::tuple(allocator_arg_t, const A&, const Elements&...)): |
| Likewise. |
| * testsuite/20_util/tuple/cons/121771.cc: New test. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/122567 |
| * src/c++20/tzdb.cc (tzdb::current_zone): Loop over all trailing |
| components of /etc/localtime path. Use readlink instead of |
| std::filesystem::read_symlink. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-01-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/123100 |
| * include/std/sstream (basic_stringbuf::str()&&): Handle the |
| case where _M_string is not being used for the buffer. |
| * testsuite/27_io/basic_stringbuf/str/char/123100.cc: New test. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-05-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/109965 |
| * doc/doxygen/mainpage.html: Link to topics.html instead of |
| modules.html |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/118088 |
| * include/bits/stl_queue.h (priority_queue(priority_queue&&)): |
| Clear the source object after moving from it. |
| (priority_queue(priority_queue&&, const Alloc&)): Likewise. |
| (operator=(priority_queue&&)): Likewise. |
| * testsuite/23_containers/priority_queue/118088.cc: New test. |
| |
| 2026-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-07-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/118681 |
| * src/c++17/memory_resource.cc (choose_block_size): New |
| function. |
| (synchronized_pool_resource::do_allocate): Use choose_block_size |
| to determine appropriate block size. |
| (synchronized_pool_resource::do_deallocate): Likewise |
| (unsynchronized_pool_resource::do_allocate): Likewise. |
| (unsynchronized_pool_resource::do_deallocate): Likewise |
| * testsuite/20_util/synchronized_pool_resource/118681.cc: New |
| test. |
| * testsuite/20_util/unsynchronized_pool_resource/118681.cc: New |
| test. |
| |
| 2026-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2025-09-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libstdc++/121827 |
| * include/precompiled/extc++.h: Don't include ext/cast.h which is an |
| internal header. |
| * include/ext/pointer.h: Include bits/c++config.h before |
| #if _GLIBCXX_HOSTED. |
| |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc [_AIX]: Change #ifndef to #ifdef. |
| |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-03-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/124568 |
| * testsuite/24_iterators/istreambuf_iterator/105580.cc: Add |
| no_pch option. |
| |
| 2026-03-16 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| Backported from master: |
| 2026-03-05 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/124124 |
| * testsuite/29_atomics/atomic/cons/zero_padding.cc: Limit size of |
| test types to four bytes. |
| |
| 2026-03-16 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/105580 |
| * include/std/streambuf (streambuf::gptr, streambuf::egptr) |
| (streambuf::gbump): Surround with pragma disabling -Wnull-dereference. |
| * testsuite/24_iterators/istreambuf_iterator/105580.cc: New test. |
| (cherry picked from commits |
| 8758503918a91dacff4dbc7126eced21787fbfc9 |
| bfc2b87f8244a13ab00e8e3fe2af1d6d18fcaa36 |
| a523d1ecc89dcb7ea205e3de22d00443d4a0d91d) |
| |
| 2026-03-13 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2026-02-12 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/114865 |
| * include/std/atomic (atomic<_Tp>::atomic(_Tp)) [C++11]: |
| Enable __builtin_clear_padding logic. |
| * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Enable |
| this test in earlier modes, including C++11. |
| * testsuite/29_atomics/atomic/cons/zero_padding.cc [C++11]: |
| Enable tests verifying cleared padding bits for a non-static-init |
| std::atomic object. |
| |
| 2026-03-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-03-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/124363 |
| * include/std/string_view: Adjust comment on #endif to match #if |
| condition. Likewise for header guard. |
| |
| 2026-02-27 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/123875 |
| * include/std/atomic (atomic<_Tp>::atomic(_Tp)): Skip __clear_padding |
| call for constant evaluation. |
| * testsuite/29_atomics/atomic/cons/zero_padding.cc: New test. |
| (cherry picked with modifications from commits |
| 6b550d69fe7cb62ea6e240ce7a4ba29ce33aa1b1 |
| 682c95b808724e6f876ea709b873ac6771704d7b |
| 060d7c2a9c1fe16d23d98a74287fdb7c73ddb784 |
| f3ba5ad088cebe117f857329a35b95d18d97a808) |
| |
| 2026-02-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-11-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/xmethods.py (ListMethodsMatcher.match): |
| Fix lookup for node type. |
| |
| 2026-02-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-11-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/122821 |
| * python/libstdcxx/v6/xmethods.py (_versioned_namespace): Remove |
| global variable. |
| (is_specialization_of): Do not use _versioned_namespace. Add |
| __debug:: to regex. |
| |
| 2026-02-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2026-02-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/123991 |
| * include/bits/basic_string.h (compare(size_type, size_type, T)): |
| Remove noexcept-specifier. |
| (compare(size_type, size_type, T, size_type, size_type)): |
| Likewise. |
| * include/bits/cow_string.h (compare(size_type, size_type, T)): |
| Remove noexcept-specifier. |
| (compare(size_type, size_type, T, size_type, size_type)): |
| Likewise. |
| * testsuite/21_strings/basic_string/operations/compare/char/123991.cc: |
| New test. |
| * testsuite/21_strings/basic_string/operations/compare/wchar_t/123991.cc: |
| New test. |
| |
| 2026-02-09 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| Backported from master: |
| 2025-08-26 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/90192 |
| * include/bits/stl_vector.h (vector<T>::_M_fill_append): Declare. |
| (vector<T>::fill): Use _M_fill_append instead of _M_fill_insert. |
| * include/bits/vector.tcc (vector<T>::_M_fill_append): Define |
| (vector<T>::_M_fill_insert): Delegate to _M_fill_append when |
| elements are appended. |
| * testsuite/23_containers/vector/modifiers/moveable.cc: Updated |
| copycount for inserting at the end (appending). |
| * testsuite/23_containers/vector/modifiers/resize.cc: New test. |
| * testsuite/backward/hash_set/check_construct_destroy.cc: Updated |
| copycount, the hash_set constructor uses insert to fill buckets |
| with nullptrs. |
| |
| 2026-01-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/105857 |
| * config/locale/dragonfly/codecvt_members.cc (do_length): Limit |
| size of alloca buffer to 4k. |
| * config/locale/gnu/codecvt_members.cc (do_length): Likewise. |
| * testsuite/22_locale/codecvt/length/wchar_t/105857.cc: New |
| test. |
| |
| 2026-01-23 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-09-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117276 |
| * include/pstl/parallel_backend_tbb.h (__func_task::finalize): |
| Make deallocation unconditional. |
| |
| 2026-01-23 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/atomic_wait.h (__detail::__atomic_compare): Use |
| std::addressof instead of &. |
| * include/std/atomic (atomic::wait, atomic::notify_one) |
| (atomic::notify_all): Likewise. |
| |
| 2025-11-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-11-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/122726 |
| * src/filesystem/ops-common.h [_GLIBCXX_FILESYSTEM_IS_WINDOWS] |
| (rename): Use __last_system_error to set errno accurately. |
| * testsuite/27_io/filesystem/operations/rename.cc: Test |
| error_code matches errc::no_such_file_or_directory. |
| |
| 2025-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/122661 |
| * include/bits/forward_list.h (forward_list::assign(I, I)): Fix |
| value category in is_assignable check. |
| * testsuite/23_containers/forward_list/modifiers/122661.cc: |
| New test. |
| |
| 2025-09-09 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| Backported from master: |
| 2025-09-05 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * doc/html/manual/status.html: Regenerate. |
| * doc/xml/manual/status_cxx2011.xml: Add entry for bad_function_call. |
| * doc/xml/manual/status_cxx2017.xml: Add entries for bad_any_cast |
| and nullptr_t output. Update entry for sf.cmath. Fix stable name for |
| mem.res. |
| |
| 2025-09-09 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| Backported from master: |
| 2025-09-05 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * doc/html/manual/status.html: Regenerate the file. |
| * doc/xml/manual/status_cxx2017.xml: Addd more entires. |
| |
| 2025-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/120698 |
| * doc/xml/manual/configure.xml: Do not claim that vtv is enabled |
| by default. |
| * doc/html/manual/configure.html: Regenerate. |
| |
| 2025-09-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-09-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/110853 |
| * include/bits/stl_pair.h [C++20] (pair(const T1&, const T2&)): |
| Use std::type_identity_t<T1> for first parameter. |
| * testsuite/20_util/pair/cons/110853.cc: New test. |
| |
| 2025-09-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-09-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/121745 |
| * include/bits/stl_pair.h (get): Use forward instead of move in |
| std::get<T> overloads for rvalue pairs. |
| * testsuite/20_util/pair/astuple/get_by_type.cc: Check all value |
| categories and cv-qualification. |
| |
| 2025-09-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-07-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/121097 |
| * include/c_global/cmath (hypot): Use __promote_3 instead of |
| __promoted. |
| |
| 2025-06-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-06-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/99832 |
| * include/bits/chrono.h (system_clock::to_time_t): Add |
| always_inline attribute to be agnostic to the underlying type of |
| time_t. |
| (system_clock::from_time_t): Add always_inline for consistency |
| with to_time_t. |
| * testsuite/20_util/system_clock/99832.cc: New test. |
| |
| 2025-06-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-06-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/120548 |
| * include/std/format (__formatter_fp::_M_localize): Do not |
| include a leading sign character in the string to be grouped. |
| * testsuite/std/format/functions/format.cc: Check grouping when |
| sign is present in the output. |
| |
| 2025-06-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (__formatter_fp::_M_localize): Add comments |
| and micro-optimize string copy. |
| |
| 2025-06-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-05-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/faq.xml: Update URL for archived SGI STL docs. |
| * doc/xml/manual/containers.xml: Likewise. |
| * doc/xml/manual/extensions.xml: Likewise. |
| * doc/xml/manual/using.xml: Likewise. |
| * doc/xml/manual/utilities.xml: Likewise. |
| * doc/html/*: Regenerate. |
| |
| 2025-06-06 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| Backported from master: |
| 2025-02-07 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| PR libstdc++/118160 |
| PR libstdc++/100249 |
| * include/bits/ranges_algo.h (__is_permutation_fn): Avoid a |
| dangling reference by storing the result of the iterator |
| dereference and the result of the projection in two distinct |
| variables, in order to lifetime-extend each one. |
| Forward the projected value to the predicate. |
| * testsuite/25_algorithms/is_permutation/constrained.cc: Add a |
| test with a range returning prvalues. Test it in a constexpr |
| context, in order to rely on the compiler to catch UB. |
| |
| 2025-06-05 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| Backported from master: |
| 2025-03-14 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| * include/bits/shared_ptr_base.h (lock): Fixed a compile error |
| when calling lock() on a weak_ptr<T[]>, by removing an |
| erroneous usage of element_type from within lock(). |
| * testsuite/20_util/shared_ptr/requirements/explicit_instantiation/1.cc: |
| Add more tests for array types. |
| * testsuite/20_util/weak_ptr/requirements/explicit_instantiation/1.cc: |
| Likewise. |
| * testsuite/20_util/shared_ptr/requirements/1.cc: New test. |
| * testsuite/20_util/weak_ptr/requirements/1.cc: New test. |
| |
| 2025-06-05 Release Manager |
| |
| * GCC 13.4.0 released. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/112490 |
| * testsuite/24_iterators/const_iterator/112490.cc: Add |
| dg-options directive. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2024-10-29 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/112641 |
| * include/std/ranges (drop_view::begin): Reimplement const |
| overload so that it's O(1) always. |
| * testsuite/std/ranges/adaptors/drop.cc (test10): New test. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2025-04-09 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/115046 |
| PR libstdc++/112490 |
| * include/bits/stl_iterator.h (basic_const_iterator::operator-): |
| Replace non-dependent basic_const_iterator function parameter with |
| a dependent one of type basic_const_iterator<_It2> where _It2 |
| matches _It. |
| * testsuite/std/ranges/adaptors/as_const/1.cc (test04): New test. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2025-02-28 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/112490 |
| * include/bits/stl_iterator.h (basic_const_iterator::operator<): |
| Replace non-dependent basic_const_iterator function parameter with |
| a dependent one of type basic_const_iterator<_It3> where _It3 |
| matches _It. |
| (basic_const_iterator::operator>): Likewise. |
| (basic_const_iterator::operator<=): Likewise. |
| (basic_const_iterator::operator>=): Likewise. |
| * testsuite/24_iterators/const_iterator/112490.cc: New test. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2025-03-13 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/119135 |
| * include/std/ranges: Include <utility>. |
| (views::__detail::__is_ref_view): Replace with ... |
| (views::__detail::__is_constable_ref_view): ... this. |
| (views::_AsConst::operator()): Replace bogus use of element_type |
| in the ref_view branch. |
| * testsuite/std/ranges/adaptors/as_const/1.cc (test03): Extend |
| test. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 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. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2024-01-15 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/stl_iterator.h (const_iterator): Define conversion |
| operators as per P2836R1. |
| * include/std/ranges (__cpp_lib_ranges_as_const): Update value. |
| * include/std/version (__cpp_lib_ranges_as_const): Likewise. |
| * 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. |
| |
| 2025-05-27 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2024-10-05 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/ranges_base.h (__distance_fn::operator()): |
| Adjust iterator/sentinel overloads as per LWG 3664. |
| * testsuite/24_iterators/range_operations/distance.cc: |
| Test LWG 3664 example. |
| |
| 2025-05-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/status_cxx2023.xml: Update status of proposals |
| implemented for GCC 13. |
| * doc/html/manual/status.html: Regenerate. |
| |
| 2025-05-08 Richard Biener <rguenther@suse.de> |
| |
| Backported from master: |
| 2023-11-07 Richard Biener <rguenther@suse.de> |
| |
| PR libstdc++/112351 |
| * src/c++98/locale.cc (locale::facet::_S_initialize_once): |
| Check whether _S_c_locale is already initialized. |
| (locale::facet::_S_get_c_locale): Always perform non-threadsafe |
| init when threadsafe init failed. |
| |
| 2025-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2024-11-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libstdc++/117406 |
| * testsuite/26_numerics/headers/cmath/117406.cc: Use |
| std::numeric_limits<int>::max() instead of INT_MAX. |
| |
| 2025-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2024-11-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libstdc++/117406 |
| * include/c_global/cmath (std::ilogb(_Float16), std::llrint(_Float16), |
| std::llround(_Float16), std::lrint(_Float16), std::lround(_Float16)): |
| Don't cast __builtin_* return to _Float16. |
| (std::ilogb(__gnu_cxx::__bfloat16_t), |
| std::llrint(__gnu_cxx::__bfloat16_t), |
| std::llround(__gnu_cxx::__bfloat16_t), |
| std::lrint(__gnu_cxx::__bfloat16_t), |
| std::lround(__gnu_cxx::__bfloat16_t)): Don't cast __builtin_* return to |
| __gnu_cxx::__bfloat16_t. |
| * testsuite/26_numerics/headers/cmath/117406.cc: New test. |
| |
| 2025-04-23 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2024-10-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libstdc++/117321 |
| * include/c_global/cmath (nextafter(_Float16, _Float16)): Use |
| if consteval rather than if (std::__is_constant_evaluated()) around |
| the __builtin_nextafterf16 call. |
| (nextafter(__gnu_cxx::__bfloat16_t, __gnu_cxx::__bfloat16_t)): Use |
| if consteval rather than if (std::__is_constant_evaluated()) around |
| the __builtin_nextafterf16b call. |
| * testsuite/26_numerics/headers/cmath/117321.cc: New test. |
| |
| 2025-04-18 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * include/std/format (basic_format_arg::_S_to_arg_type): Normalize |
| _Float32 and _Float64 only to float and double respectivelly. |
| (basic_format_arg::_S_to_enum): Remove handling of _Float32 and _Float64. |
| (cherry picked with modifications from commit 445128c12cf22081223f7385196ee3889ef4c4b2) |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/20_util/integer_sequence/112473.cc: Compile with |
| -std=gnu++20. |
| * testsuite/21_strings/char_traits/requirements/113200.cc: |
| Likewise. |
| * testsuite/23_containers/array/comparison_operators/106212.cc: |
| Likewise. |
| * testsuite/23_containers/array/creation/115522.cc: Likewise. |
| * testsuite/23_containers/span/117966.cc: Likewise. |
| * testsuite/23_containers/span/nodiscard.cc: Likewise. Remove |
| dg-warning directives for et c++23. |
| * testsuite/23_containers/vector/cons/113841.cc: Compile with |
| -std=gnu++20. |
| * testsuite/24_iterators/common_iterator/101527.cc: Likewise. |
| * testsuite/24_iterators/counted_iterator/101527.cc: Likewise. |
| * testsuite/24_iterators/move_iterator/lwg3736.cc: Likewise. |
| * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc: |
| Likewise. |
| * testsuite/27_io/filesystem/iterators/lwg3480.cc: Likewise. |
| * testsuite/29_atomics/headers/stdatomic.h/115807.cc: Compile |
| with -std=gnu++23. |
| * testsuite/experimental/scopeguard/114152.cc: Compile with |
| -std=gnu++20. |
| * testsuite/std/format/arguments/112607.cc: Likewise. |
| * testsuite/std/format/arguments/args_neg.cc: Likewise. |
| * testsuite/std/format/context.cc: Likewise. |
| * testsuite/std/format/formatter/112832.cc: Likewise. |
| * testsuite/std/format/formatter/basic.cc: Likewise. |
| * testsuite/std/ranges/subrange/111948.cc: Likewise. |
| * testsuite/std/ranges/subrange/lwg3589.cc: Likewise. |
| * testsuite/std/time/format/pr117085.cc: Likewise. |
| * testsuite/std/time/month/2.cc: Likewise. |
| * testsuite/std/time/time_zone/sys_info_abbrev.cc: Likewise. |
| * testsuite/std/time/tzdb/links.cc: Likewise. |
| * testsuite/std/time/weekday/2.cc: Likewise. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/17_intro/names.cc: Check ranges is not used as an |
| identifier before C++20. |
| |
| 2025-04-16 Michael Levine <mlevine55@bloomberg.net> |
| |
| Backported from master: |
| 2024-06-08 Michael Levine <mlevine55@bloomberg.net> |
| |
| PR libstdc++/108760 |
| * include/bits/ranges_algo.h (ranges::out_value_result) |
| (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to |
| <bits/ranges_algobase.h>. |
| * include/bits/ranges_algobase.h (ranges::out_value_result): |
| (ranges::iota_result, ranges::__iota_fn, ranges::iota): Move to |
| here. |
| * include/std/numeric: Include <bits/ranges_algobase.h>. |
| * testsuite/25_algorithms/iota/1.cc: Renamed to ... |
| * testsuite/26_numerics/iota/2.cc: ... here. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-02-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/105609 |
| * include/bits/ranges_algobase.h (__detail::__assign_one): New |
| helper function. |
| (__copy_or_move, __copy_or_move_backward): Use new function |
| instead of std::__assign_one. |
| * testsuite/25_algorithms/move/constrained.cc: Check that |
| ADL iter_move is used in preference to std::move. |
| * testsuite/25_algorithms/move_backward/constrained.cc: |
| Likewise. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/ranges_algobase.h (ranges::__assign_one): Remove. |
| (__copy_or_move, __copy_or_move_backward): Use std::__assign_one |
| instead of ranges::__assign_one. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117121 |
| * include/bits/ranges_algobase.h (copy_backward): Decrement |
| output iterator before assigning one element through it. |
| * testsuite/25_algorithms/copy/108846.cc: Ensure the algorithm's |
| effects are correct for a single memcpyable element. |
| * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. |
| * testsuite/25_algorithms/copy_n/108846.cc: Likewise. |
| |
| 2025-04-16 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| Backported from master: |
| 2024-09-13 Giuseppe D'Angelo <giuseppe.dangelo@kdab.com> |
| |
| PR libstdc++/108846 |
| PR libstdc++/116471 |
| * include/bits/ranges_algobase.h (__assign_one): New helper |
| function. |
| (__copy_or_move): Remove a spurious static_assert; use |
| __assign_one for memcpyable ranges of length 1. |
| (__copy_or_move_backward): Likewise. |
| * testsuite/25_algorithms/copy/108846.cc: Extend to range-based |
| algorithms, and cover both memcpyable and non-memcpyable |
| cases. |
| * testsuite/25_algorithms/copy_backward/108846.cc: Likewise. |
| * testsuite/25_algorithms/copy_n/108846.cc: Likewise. |
| * testsuite/25_algorithms/move/108846.cc: Likewise. |
| * testsuite/25_algorithms/move_backward/108846.cc: Likewise. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/ranges_algobase.h: Include <bits/stl_algobase.h>. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-02-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/106612 |
| * include/bits/iterator_concepts.h (_IterMove::__iter_ref_t): |
| New alias template. |
| (_IterMove::__result): Use __iter_ref_t instead of |
| std::iter_reference_t. |
| (_IterMove::__type): Remove incorrect __dereferenceable |
| constraint. |
| (_IterMove::operator()): Likewise. Add correct constraints. Use |
| __iter_ref_t instead of std::iter_reference_t. Forward parameter |
| as correct value category. |
| (iter_swap): Add comments. |
| * testsuite/24_iterators/customization_points/iter_move.cc: Test |
| that iter_move is found by ADL and that rvalue arguments are |
| handled correctly. |
| |
| 2025-04-16 Arsen Arsenović <arsen@aarsen.me> |
| |
| Backported from master: |
| 2023-12-21 Arsen Arsenović <arsen@aarsen.me> |
| |
| * include/bits/ranges_util.h: Add missing <bits/invoke.h> |
| include. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/118093 |
| * include/bits/atomic_futex.h (_M_load_and_test_until_impl): |
| Return false for times before the epoch. |
| * src/c++11/futex.cc (_M_futex_wait_until): Extend check for |
| negative times to check for subsecond times. Add unlikely |
| attribute. |
| (_M_futex_wait_until_steady): Likewise. |
| * testsuite/30_threads/future/members/118093.cc: New test. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/104395 |
| * include/bits/new_allocator.h: Disable extended alignment |
| support in C++98 mode. |
| * include/ext/bitmap_allocator.h: Likewise. |
| * include/ext/malloc_allocator.h: Likewise. |
| * include/ext/mt_allocator.h: Likewise. |
| * include/ext/pool_allocator.h: Likewise. |
| * testsuite/ext/104395.cc: New test. |
| |
| 2025-04-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/memory_resource.h (polymorphic_allocator::destroy): |
| Remove deprecated attribute. |
| |
| 2025-04-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-04-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/21334 |
| * doc/xml/manual/using.xml: Document that container data race |
| avoidance rules do not apply to COW std::string. |
| * doc/html/*: Regenerate. |
| |
| 2025-04-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-04-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/119671 |
| * include/std/format (__formatter_fp::format): Do not invalidate |
| __wstr unless _M_localized returns a valid string. |
| * testsuite/std/format/functions/format.cc: Check wide string |
| formatting of floating-point types with classic locale. |
| |
| 2025-04-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-04-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/101587 |
| * include/bits/ranges_uninitialized.h (__detail::__mindist): |
| Remove. |
| (ranges::uninitialized_copy, ranges::uninitialized_copy_n) |
| (ranges::uninitialized_move, ranges::uninitialized_move_n): Use |
| comparison and assignment instead of __mindist. |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: |
| Check with ranges that use integer-like class type for |
| difference type. |
| * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: |
| Likewise. |
| |
| 2025-04-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/101587 |
| * include/bits/ranges_uninitialized.h (__detail::__mindist): |
| New function object. |
| (ranges::uninitialized_copy, ranges::uninitialized_copy_n) |
| (ranges::uninitialized_move, ranges::uninitialized_move_n): Use |
| __mindist instead of std::min. |
| * testsuite/20_util/specialized_algorithms/uninitialized_copy/constrained.cc: |
| Check ranges with difference difference types. |
| * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: |
| Likewise. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/bit (bit_cast): Use library trait instead of |
| __is_trivially_copyable built-in. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/110498 |
| * include/bits/vector.tcc (vector<bool, A>::_M_reallocate): |
| Hoist loads of begin() and end() before allocation and use them |
| to state an unreachable condition. |
| * testsuite/23_containers/vector/bool/capacity/110498.cc: New |
| test. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114758 |
| * include/bits/vector.tcc (vector<bool, A>::_M_fill_insert): |
| Hoist loads of begin() and end() before allocation. |
| * testsuite/23_containers/vector/bool/capacity/114758.cc: New |
| test. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117983 |
| * include/bits/vector.tcc (vector::_M_range_insert): Add |
| unreachable condition to tell the compiler begin() <= end(). |
| * testsuite/23_containers/vector/modifiers/insert/117983.cc: New |
| test. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116212 |
| * testsuite/20_util/specialized_algorithms/uninitialized_move/constrained.cc: |
| Use unsigned for vector size. |
| |
| 2025-04-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/ranges_base.h (range_common_reference_t): New |
| alias template, as per LWG 3860. |
| * testsuite/std/ranges/range.cc: Check it. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/forward_list (erase): Change lambda to have |
| explicit return type and const parameter type. |
| * include/std/list (erase): Likewise. |
| * testsuite/23_containers/forward_list/erasure.cc: Check lambda |
| is correct. |
| * testsuite/23_containers/list/erasure.cc: Likewise. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/119429 |
| * include/std/format (__format::_Scanner::_Scanner): Cast |
| default argument to size_t. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdata.zi: Import new file from 2025b release. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/chrono (__detail::__get_leap_second_info): Update |
| expiry date for leap seconds list. |
| * src/c++20/tzdata.zi: Import new file from 2025a release. |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) |
| Update expiry date for leap seconds list. |
| |
| 2025-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2025-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/18_support/numeric_limits/traps.cc (main): Fix comment |
| typo. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/locale_facets_nonio.tcc (time_put::do_put): Fix |
| typo in comment. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/stl_vector.h (operator<=>): Use constexpr |
| instead of _GLIBCXX20_CONSTEXPR macro. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/stacktrace (basic_stacktrace::_Impl::_M_allocate): |
| Do not assume allocators only throw std::bad_alloc. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108236 |
| * include/pstl/glue_numeric_impl.h (exclusive_scan): Pass __init |
| as rvalue. |
| * include/pstl/numeric_impl.h (__brick_transform_scan): Do not |
| write through __result until after reading through __first. Move |
| __init into return value. |
| (__pattern_transform_scan): Pass __init as rvalue. |
| * include/std/numeric (exclusive_scan): Move construct instead |
| of copy constructing. |
| * testsuite/26_numerics/exclusive_scan/2.cc: New test. |
| * testsuite/26_numerics/pstl/numeric_ops/108236.cc: New test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/109517 |
| PR libstdc++/109976 |
| * include/debug/helper_functions.h (__valid_range_aux): Treat |
| all input iterator ranges as valid during constant evaluation. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/106212 |
| * include/std/array (operator==): Use std::__equal_aux1 instead |
| of std::equal. |
| * testsuite/23_containers/array/comparison_operators/106212.cc: |
| New test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117966 |
| * include/std/span (span(T (&)[N])): Do not delegate to |
| constructor that performs redundant checks. |
| (span(array<T, N>&), span(const array<T, N>&)): Likewise. |
| (span(Range&&), span(const span<T, N>&)): Likewise. |
| * testsuite/23_containers/span/117966.cc: New test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/90389 |
| * include/bits/deque.tcc (_M_insert_aux): Rename variadic |
| overload to _M_emplace_aux. |
| * include/bits/stl_deque.h (_M_insert_aux): Define inline. |
| (_M_emplace_aux): Declare. |
| * testsuite/23_containers/deque/modifiers/emplace/90389.cc: New |
| test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/118035 |
| * include/bits/deque.tcc (_M_range_insert_aux): Return |
| immediately if inserting an empty range. |
| * testsuite/23_containers/deque/modifiers/insert/118035.cc: New |
| test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-01-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/118158 |
| * src/c++17/fs_ops.cc (fs::equivalent): Remove error reporting |
| for is_other(s1) && is_other(s2) case, as per LWG 2937. |
| * testsuite/27_io/filesystem/operations/pr118158.cc: New test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/101527 |
| * testsuite/24_iterators/common_iterator/101527.cc: New test. |
| * testsuite/24_iterators/counted_iterator/101527.cc: New test. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/policy_data_structures_biblio.xml: Fix two |
| broken links. |
| * doc/html/manual/policy_data_structures.html: Regenerate. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/using_exceptions.xml: Fix typos and grammatical |
| errors. |
| * doc/html/manual/using_exceptions.html: Regenerate. |
| |
| 2025-03-31 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| Backported from master: |
| 2024-08-17 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/xml/manual/abi.xml: Update reference to |
| gcc.gnu.org/onlinedocs. |
| * doc/xml/manual/concurrency_extensions.xml (interface): Ditto. |
| * doc/xml/manual/extensions.xml: Ditto. |
| * doc/xml/manual/parallel_mode.xml: Ditto. |
| * doc/xml/manual/shared_ptr.xml: Ditto. |
| * doc/xml/manual/using_exceptions.xml: Ditto. And change GNU GCC |
| to GCC. |
| * doc/html/*: Regenerate. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/test.xml: Remove stray comma. |
| * doc/html/manual/test.html: Regenerate. |
| |
| 2025-03-31 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-03-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/test.xml: Fix default for -std option. |
| * doc/html/manual/test.html: Regenerate. |
| |
| 2025-03-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-12-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++17/fs_dir.cc: Fix typo in comment. |
| |
| 2025-03-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/strings.xml: Clarify that GCC 4.5 added |
| std::string::shrink_to_fit. |
| * doc/html/manual/strings.html: Regenerate. |
| |
| 2025-01-10 Tamar Christina <tamar.christina@arm.com> |
| |
| Backported from master: |
| 2025-01-10 Tamar Christina <tamar.christina@arm.com> |
| |
| * include/bits/hashtable.h (find): Add inline keyword. |
| |
| 2025-01-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2025-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/evolution.xml: Replace invalid <variable> |
| elements with <varname>. |
| * doc/html/*: Regenerate. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (__format::__is_formattable_integer): New |
| variable template and specializations. |
| (template<integral, __char> struct formatter): Replace |
| constraints on first arg with __is_formattable_integer. |
| * testsuite/std/format/formatter/requirements.cc: Check that |
| std::formatter specializations for char8_t and const int are |
| disabled. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/ranges_util.h (subrange::begin): Fix constraint, |
| as per LWG 3589. |
| * testsuite/std/ranges/subrange/lwg3589.cc: New test. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/stl_iterator.h (operator+): Add constraint to |
| move_iterator operator. |
| * testsuite/24_iterators/move_iterator/rel_ops_c++20.cc: Check |
| it's constrained. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117822 |
| * include/std/stacktrace (stacktrace(stacktrace&&, const A&)): |
| Fix typo in qualified-id for is_always_equal trait. |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Test |
| allocator-extended constructors and allocator propagation. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/stl_bvector.h (emplace_back, emplace): Forward |
| parameter pack to preserve value category. |
| * testsuite/23_containers/vector/bool/emplace_rvalue.cc: New |
| test. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/util/testsuite_performance.h: Use |
| __gnu_cxx::__is_single_threaded instead of __gthread_active_p(). |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/util/testsuite_performance.h (time_counter): Add |
| comment about times. |
| (time_counter::system_time): Use correct split value. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/hashtable_policy.h (_Insert_base::try_emplace): |
| Do not define for C++11 and C++14. |
| * include/debug/map.h (try_emplace): Use feature test macro. |
| * include/debug/unordered_map (try_emplace): Likewise. |
| * testsuite/17_intro/names.cc: Define try_emplace before C++17. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117560 |
| * include/bits/fs_dir.h (enable_borrowed_range, enable_view): |
| Define specializations for directory iterators, as per LWG 3480. |
| * testsuite/27_io/filesystem/iterators/lwg3480.cc: New test. |
| |
| 2024-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114394 |
| * include/std/functional (bind): Use __invoke_result_t instead |
| of result_of::type. |
| * include/std/type_traits (__invoke_result_t): New alias |
| template. |
| * testsuite/20_util/bind/ref_neg.cc: Adjust prune pattern. |
| |
| 2024-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/101228 |
| * include/pstl/parallel_backend_tbb.h (TBB_SUPPRESS_DEPRECATED_MESSAGES): |
| Define before including <tbb/task.h> then undef afterwards. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117135 |
| * config/locale/generic/time_members.cc |
| (__timepunct<wchar_t>::_M_initialize_timepunc): Set |
| _M_date_time_format for C locale. Set %Ex formats to the same |
| values as the %x formats. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * config/locale/dragonfly/time_members.cc |
| (__timepunct<char>::_M_initialize_timepunc) |
| (__timepunct<wchar_t>::_M_initialize_timepunc): Set |
| _M_date_time_format for C locale. Set %Ex formats to the same |
| values as the %x formats. |
| * config/locale/generic/time_members.cc: Likewise. |
| * config/locale/gnu/time_members.cc: Likewise. |
| * testsuite/22_locale/time_get/get/char/5.cc: New test. |
| * testsuite/22_locale/time_get/get/wchar_t/5.cc: New test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116777 |
| * doc/xml/manual/using.xml: Document features that are not |
| supported for the gcc4-compatible ABI. |
| * doc/html/manual/using_dual_abi.html: Regenerate. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++17/fs_ops.cc (auto_win_file_handle): Add error_code& |
| member and set it if CreateFileW or GetFileInformationByHandle |
| fails. |
| (fs::equiv_files) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Simplify |
| control flow. |
| (fs::hard_link_count) [_GLIBCXX_FILESYSTEM_IS_WINDOWS]: Clear ec |
| on success. |
| * testsuite/27_io/filesystem/operations/hard_link_count.cc: |
| Check error handling. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++17/fs_ops.cc (auto_win_file_handle): Change constructor |
| parameter from const path& to const wchar_t*. |
| (fs::equiv_files): New function. |
| (fs::equivalent): Use equiv_files. |
| * src/filesystem/ops-common.h (fs::equiv_files): Declare. |
| (do_copy_file): Use equiv_files. |
| * src/filesystem/ops.cc (fs::equiv_files): Define. |
| (fs::copy, fs::equivalent): Use equiv_files. |
| * testsuite/27_io/filesystem/operations/copy.cc: Test |
| overwriting directory contents recursively. |
| * testsuite/27_io/filesystem/operations/copy_file.cc: Test |
| overwriting existing files. |
| |
| 2024-10-16 Lennox Shou Hao Ho <lennoxhoe@gmail.com> |
| |
| Backported from master: |
| 2024-07-30 Lennox Shou Hao Ho <lennoxhoe@gmail.com> |
| |
| PR libstdc++/113663 |
| * src/c++17/fs_ops.cc (fs::equivalent): Moved helper class |
| auto_handle to anonymous namespace as auto_win_file_handle. |
| (fs::hard_link_count): Changed Windows implementation to use |
| information provided by GetFileInformationByHandle which is more |
| reliable. |
| * testsuite/27_io/filesystem/operations/hard_link_count.cc: New |
| test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (basic_format_args): Remove default |
| constructor, as per LWG 4106. |
| * testsuite/std/format/arguments/args.cc: Check it isn't default |
| constructible. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114387 |
| * include/std/format (basic_format_context): Define copy |
| operations as deleted, as per LWG 4061. |
| * testsuite/std/format/context.cc: New test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115854 |
| * include/bits/stl_bvector.h (_Bvector_base): Convert allocator |
| to rebound type explicitly. |
| * testsuite/23_containers/vector/allocator/115854.cc: New test. |
| * testsuite/23_containers/vector/bool/allocator/115854.cc: New test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116549 |
| * include/bits/stl_iterator.h (disable_sized_sentinel_for): |
| Define specialization for two move_iterator types, as per LWG |
| 3736. |
| * testsuite/24_iterators/move_iterator/lwg3736.cc: New test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py (strip_fundts_namespace): New. |
| (StdExpAnyPrinter, StdExpOptionalPrinter): Use it. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-08-23 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/116369 |
| * include/debug/safe_base.h (_Safe_sequence_base::_M_iterators): |
| Add mutable specifier. |
| (_Safe_sequence_base::_M_const_iterators): Likewise. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/ranges (transform_view:_Iterator): Use const F& |
| to determine value_type and iterator_category of |
| _Iterator<true>, as per LWG 3564. |
| * testsuite/std/ranges/adaptors/transform.cc: Check value_type |
| and iterator_category. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117094 |
| * include/bits/ranges_algobase.h (__fill_fn): Use std::move for |
| iterator that might not be copyable. |
| * testsuite/25_algorithms/fill/constrained.cc: Check |
| non-copyable iterator with sized sentinel. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116754 |
| * include/bits/ranges_algobase.h (__copy_or_move): Fix order of |
| arguments to __memcpyable. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/117085 |
| * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add L |
| option to format string. |
| * testsuite/std/time/format.cc: Move to... |
| * testsuite/std/time/format/format.cc: ...here. |
| * testsuite/std/time/format/pr117085.cc: New test. |
| |
| 2024-10-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-10-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__formatter_chrono::_M_c): Add |
| [[unlikely]] attribute to condition for missing %c format in |
| locale. Use %T instead of %H:%M:%S in fallback. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/util/testsuite_allocator.h (tracker_allocator): |
| Initialize base class in copy constructor. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++17/fs_ops.cc (remove_all) [__FreeBSD__ || __DragonFly__]: |
| Check for EMLINK as well as ELOOP. |
| [__NetBSD__]: Check for EFTYPE as well as ELOOP. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115399 |
| * include/tr2/dynamic_bitset (operator>>=): Remove redundant |
| call to _M_do_sanitize. |
| * include/tr2/dynamic_bitset.tcc (_M_do_left_shift): Zero out |
| low bits in words that should no longer be populated. |
| (_M_do_right_shift): Likewise for high bits. |
| * testsuite/tr2/dynamic_bitset/pr115399.cc: New test. |
| |
| 2024-10-04 Kim Gräsman <kim.grasman@gmail.com> |
| |
| Backported from master: |
| 2024-08-28 Kim Gräsman <kim.grasman@gmail.com> |
| |
| * include/bits/cpp_type_traits.h: Improve doxygen file docs. |
| |
| 2024-10-04 Kim Gräsman <kim.grasman@gmail.com> |
| |
| Backported from master: |
| 2024-08-28 Kim Gräsman <kim.grasman@gmail.com> |
| |
| * config/cpu/aarch64/opt/ext/opt_random.h: Improve doxygen file |
| docs. |
| * config/cpu/i486/opt/ext/opt_random.h: Likewise. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/variant (_Variant_storage::_M_reset): Use |
| __unlikely__ form of attribute instead of unlikely. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-08-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * configure.ac: Fix check for O_NONBLOCK. |
| * config.h.in: Regenerate. |
| * configure: Regenerate. |
| |
| 2024-10-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116641 |
| * include/bits/basic_string.h (operator=(basic_string&&)): Call |
| _M_assign instead of assign. |
| * testsuite/21_strings/basic_string/allocator/116641.cc: New |
| test. |
| |
| 2024-10-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116857 |
| * libsupc++/guard.cc (__cxa_guard_acquire): Remove |
| _GLIBCXX_NOTHROW to match declaration in <cxxabi.h>. |
| |
| 2024-10-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-09-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116755 |
| * include/bits/chrono_io.h (formatter<duration<R,P>>::format): |
| Cast negative integral durations to unsigned rep. |
| * testsuite/20_util/duration/io.cc: Test the most negative |
| integer durations. |
| |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (minmax_year, minmax_year2): Remove. |
| (years_from_to): New class replacing minmax_year and |
| minmax_year2. |
| (format_abbrev_str, select_std_or_dst_abbrev): Move earlier in |
| the file. Handle "-" for letters. |
| (ZoneInfo::to): Use format_abbrev_str to expand %z. |
| (ZoneInfo::set_abbrev): Remove exception. Change parameter from |
| reference to value. |
| (operator>>(istream&, Rule&)): Do not clear letters when it |
| contains "-". |
| (time_zone::_M_get_sys_info): Add missing logic to find the Rule |
| in effect before the time point. |
| * testsuite/std/time/tzdb/1.cc: Adjust for vanguard format using |
| "GMT" as the Zone name, not as a Link to "Etc/GMT". |
| * testsuite/std/time/time_zone/sys_info_abbrev.cc: New test. |
| |
| 2024-09-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114770 |
| * src/c++20/tzdb.cc (do_locate_zone): Support links that have |
| another link as their target. |
| * testsuite/std/time/tzdb/1.cc: Check that all zones and links |
| can be found by locate_zone. |
| * testsuite/std/time/tzdb/links.cc: New test. |
| |
| 2024-09-10 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 2024-04-18 Alexandre Oliva <oliva@adacore.com> |
| |
| * src/c++20/tzdb.cc (__gnu_cxx::zoneinfo_dir_override): Define |
| on VxWorks non-RTP. |
| |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/116070 |
| * include/bits/stl_bvector.h: Check feature test macro before |
| using is_default_constructible_v. |
| |
| 2024-07-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115522 |
| * include/std/array (to_array): Workaround the fact that |
| std::is_trivial is not sufficient to check that a type is |
| trivially default constructible and assignable. |
| * testsuite/23_containers/array/creation/115522.cc: New test. |
| |
| 2024-07-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-07-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115807 |
| * include/c_compatibility/stdatomic.h (_Atomic): Ensure it |
| refers to std::atomic in the global namespace. |
| * testsuite/29_atomics/headers/stdatomic.h/115807.cc: New test. |
| |
| 2024-07-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115585 |
| * src/c++11/assert_fail.cc (__glibcxx_assert_fail): Add |
| definition for non-verbose builds. |
| |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/faq.xml: Replace viewcvs links with cgit links. |
| * doc/xml/manual/allocator.xml: Likewise. |
| * doc/xml/manual/mt_allocator.xml: Likewise. |
| * doc/html/*: Regenerate. |
| |
| 2024-06-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115668 |
| * include/bits/chrono_io.h (formatter<duration<R,P, C>::format): |
| Do not use chrono::abs. |
| * testsuite/20_util/duration/io.cc: Check formatting a duration |
| with unsigned rep. |
| |
| 2024-06-27 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 2024-06-27 Alexandre Oliva <oliva@adacore.com> |
| |
| PR libstdc++/115454 |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: Defer |
| to check_vect_support_and_set_flags's default dg-do action. |
| |
| 2024-06-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/status_cxx1998.xml: Remove confusing "not in |
| any particular release" text. |
| * doc/xml/manual/status_cxx2011.xml: Likewise. |
| * doc/xml/manual/status_cxx2014.xml: Likewise. |
| * doc/xml/manual/status_cxx2017.xml: Likewise. |
| * doc/xml/manual/status_cxx2020.xml: Likewise. |
| * doc/xml/manual/status_cxx2023.xml: Likewise. |
| * doc/xml/manual/status_cxxtr1.xml: Likewise. |
| * doc/xml/manual/status_cxxtr24733.xml: Likewise. |
| * doc/html/manual/status.html: Regenerate. |
| |
| 2024-06-21 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-06-21 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/115575 |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: Require |
| avx512f_runtime. Don't memcpy fixed_size masks. |
| |
| 2024-06-21 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-06-20 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/115454 |
| * include/experimental/bits/simd_x86.h (_S_not_equal_to): Use |
| neq comparison instead of bitwise negation after eq. |
| (_S_find_last_set): Clear unused high bits before computing |
| bit_width. |
| * testsuite/experimental/simd/pr115454_find_last_set.cc: New |
| test. |
| |
| 2024-06-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * libsupc++/new_opa.cc [!_GLIBCXX_HOSTED]: Fix declaration of |
| posix_memalign. |
| |
| 2024-06-11 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-06-04 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/115308 |
| * include/experimental/bits/simd.h (__int_for_sizeof): Remove |
| special cases for __clang__. |
| (_SimdWrapper): Change constructor overload set to allow |
| conversion from vector types with integral conversions via bit |
| reinterpretation. |
| |
| 2024-06-11 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-05-29 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/115247 |
| * include/experimental/bits/simd.h (__as_vector): Don't use |
| vector_size(8) on __i386__. |
| (__vec_shuffle): Never return MMX vectors, widen to 16 bytes |
| instead. |
| (concat): Fix padding calculation to pick up widening logic from |
| __as_vector. |
| |
| 2024-06-11 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-05-13 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/114958 |
| * include/experimental/bits/simd.h (__as_vector): Return scalar |
| simd as one-element vector. Return vector from single-vector |
| fixed_size simd. |
| (__vec_shuffle): New. |
| (__extract_part): Adjust return type signature. |
| (split): Use __extract_part for any split into non-fixed_size |
| simds. |
| (concat): If the return type stores a single vector, use |
| __vec_shuffle (which calls __builtin_shufflevector) to produce |
| the return value. |
| * include/experimental/bits/simd_builtin.h |
| (__shift_elements_right): Removed. |
| (__extract_part): Return single elements directly. Use |
| __vec_shuffle (which calls __builtin_shufflevector) to for all |
| non-trivial cases. |
| * include/experimental/bits/simd_fixed_size.h (__extract_part): |
| Return single elements directly. |
| * testsuite/experimental/simd/pr114958.cc: New test. |
| |
| 2024-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115269 |
| * doc/xml/manual/using.xml: Replace link to gcc-4.3.2 docs. |
| Replace list of -std=... options with a single entry for -std. |
| * doc/html/manual/using.html: Regenerate. |
| |
| 2024-05-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/19_diagnostics/stacktrace/hash.cc: Adjust |
| dg-options to use -lstdc++exp. |
| |
| 2024-05-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-05-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114940 |
| * include/std/stacktrace (_GLIBCXX_SIZED_DELETE): New macro. |
| (basic_stacktrace::_Impl::_M_deallocate): Use it. |
| |
| 2024-05-21 Dimitrij Mijoski <dmjpp@hotmail.com> |
| |
| Backported from master: |
| 2023-10-21 Dimitrij Mijoski <dmjpp@hotmail.com> |
| |
| * testsuite/22_locale/codecvt/codecvt_unicode.h: Test length() |
| |
| 2024-05-21 Dimitrij Mijoski <dmjpp@hotmail.com> |
| |
| Backported from master: |
| 2023-09-29 Dimitrij Mijoski <dmjpp@hotmail.com> |
| |
| PR libstdc++/108976 |
| * src/c++11/codecvt.cc (read_utf8_code_point): Fix handing of |
| surrogates in UTF-8. |
| (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-8. |
| (ucs4_in): Fix handling of range with odd number of bytes. |
| (ucs4_out): Fix handling of surrogates in UCS-4 -> UTF-16. |
| (ucs2_out): Fix handling of surrogates in UCS-2 -> UTF-16. |
| (ucs2_in): Fix handling of range with odd number of bytes. |
| (__codecvt_utf16_base<char16_t>::do_in): Likewise. |
| (__codecvt_utf16_base<char32_t>::do_in): Likewise. |
| (__codecvt_utf16_base<wchar_t>::do_in): Likewise. |
| * testsuite/22_locale/codecvt/codecvt_unicode.cc: Renames, add |
| tests for codecvt_utf16<char16_t> and codecvt_utf16<char32_t>. |
| * testsuite/22_locale/codecvt/codecvt_unicode.h: Refactor UTF-8 |
| testing functions for char8_t, add more test cases for errors, |
| add testing functions for codecvt_utf16. |
| * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: |
| Renames, add tests for codecvt_utf16<whchar_t>. |
| * testsuite/22_locale/codecvt/codecvt_utf16/79980.cc (test06): |
| Fix test. |
| * testsuite/22_locale/codecvt/codecvt_unicode_char8_t.cc: New |
| test. |
| |
| 2024-05-21 Release Manager |
| |
| * GCC 13.3.0 released. |
| |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/115063 |
| * include/std/stacktrace (basic_stacktrace::max_size): Fix typo |
| in reference to _M_alloc member. |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Check |
| max_size() compiles. |
| |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114359 |
| * include/bits/random.tcc (binomial_distribution::param_type): |
| Ensure arithmetic is done as type double. |
| * testsuite/26_numerics/random/binomial_distribution/114359.cc: New test. |
| |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/27_io/manipulators/extended/get_time/char/2.cc: |
| Adjust input string so that it matches %a with or without a |
| trailing period. |
| * testsuite/std/time/year_month_day/io.cc: Adjust expected |
| format for %x in the fr_FR locale. |
| |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/chrono (tzdb_list): Fix typo in Doxygen comment. |
| |
| 2024-05-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * scripts/run_doxygen: Adjust sed pattern to match '\fR' for |
| new man output that Doxygen 1.10 generates. |
| |
| 2024-05-09 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2024-04-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/17_intro/names.cc (d, f): Undefine on s390*-linux*. |
| * testsuite/17_intro/headers/c++1998/all_attributes.cc (packed): Don't |
| define on s390. |
| * testsuite/17_intro/headers/c++2011/all_attributes.cc (packed): |
| Likewise. |
| * testsuite/17_intro/headers/c++2014/all_attributes.cc (packed): |
| Likewise. |
| * testsuite/17_intro/headers/c++2017/all_attributes.cc (packed): |
| Likewise. |
| * testsuite/17_intro/headers/c++2020/all_attributes.cc (packed): |
| Likewise. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-04-22 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/114803 |
| * include/experimental/bits/simd_builtin.h |
| (_SimdBase2::operator __vector_type_t): There is no __builtin() |
| function in _SimdWrapper, instead use its conversion operator. |
| * testsuite/experimental/simd/pr114803_vecbuiltin_cvt.cc: New |
| test. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-04-22 Matthias Kretz <m.kretz@gsi.de> |
| |
| * include/experimental/bits/simd.h: Ignore -Wnarrowing for |
| arm_neon.h. |
| (__int_for_sizeof): Replace tautological compare with checking |
| for invalid template parameter value. |
| * include/experimental/bits/simd_builtin.h (__extract_part): |
| Remove tautological compare by combining two static_assert. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-04-17 Matthias Kretz <m.kretz@gsi.de> |
| |
| * include/experimental/bits/numeric_traits.h: Add include guard. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-04-17 Matthias Kretz <m.kretz@gsi.de> |
| |
| PR libstdc++/114750 |
| * include/experimental/bits/simd_builtin.h |
| (_SimdImplBuiltin::_S_load, _S_store): Fall back to copying |
| scalars if the memory type cannot be vectorized for the target. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-03-27 Matthias Kretz <m.kretz@gsi.de> |
| |
| * include/experimental/bits/simd_x86.h (_S_masked_unary): |
| Cast inputs < 16 bytes to 16 byte vectors before calling the |
| right subtraction builtin. Before returning, truncate to the |
| return vector type. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 2024-03-27 Matthias Kretz <m.kretz@gsi.de> |
| |
| * include/experimental/bits/simd_x86.h (_S_masked_unary): Call |
| the 4- and 8-byte variants of __builtin_ia32_subp[ds] without |
| rounding direction argument. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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. |
| |
| 2024-05-07 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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). |
| |
| 2024-05-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/93672 |
| * src/c++98/istream.cc (istream::ignore(streamsize, int_type)): |
| Treat all negative delimiter values as eof(). |
| * testsuite/27_io/basic_istream/ignore/char/93672.cc: New test. |
| * testsuite/27_io/basic_istream/ignore/wchar_t/93672.cc: New |
| test. |
| |
| 2024-05-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/104606 |
| * include/std/optional (operator<=>(const optional<T>&, const U&)): |
| Reverse order of three_way_comparable_with template arguments. |
| * testsuite/20_util/optional/relops/104606.cc: New test. |
| |
| 2024-04-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-04-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114863 |
| * include/std/format (__formatter_fp::format): Only use |
| _M_localized for finite values. |
| * testsuite/std/format/functions/format.cc: Check localized |
| formatting of NaN and initiny. |
| |
| 2024-04-29 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-04-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/html/manual/status.html: Regenerate. |
| * doc/xml/manual/status_cxx1998.xml: Replace references to |
| mainline GCC. |
| * doc/xml/manual/status_cxx2011.xml: Likewise. |
| * doc/xml/manual/status_cxx2014.xml: Likewise. |
| * doc/xml/manual/status_cxx2017.xml: Likewise. |
| * doc/xml/manual/status_cxx2020.xml: Likewise. |
| * doc/xml/manual/status_cxx2023.xml: Likewise. |
| * doc/xml/manual/status_cxxtr1.xml: Likewise. |
| * doc/xml/manual/status_cxxtr24733.xml: Likewise. |
| |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/experimental/Makefile.am (install-exec-local): New target. |
| (uninstall-local): New target. |
| * src/experimental/Makefile.in: Regenerate. |
| * src/libbacktrace/Makefile.am: Build libstdc++_libbacktrace as |
| noinst_LTLIBRARIES so it's only a convenience library. |
| * src/libbacktrace/Makefile.in: Regenerate. |
| |
| 2024-04-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/experimental/Makefile.am: Use libstdc++fsconvenience.a |
| instead of libstdc++fs.a. |
| * src/experimental/Makefile.in: Regenerate. |
| * src/filesystem/Makefile.am: Build libstdc++fsconvenience.a as |
| well. |
| * src/filesystem/Makefile.in: Regenerate. |
| |
| 2024-04-15 Andreas Schwab <schwab@suse.de> |
| |
| * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. |
| |
| 2024-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2024-04-11 Jakub Jelinek <jakub@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/m68k-linux-gnu/baseline_symbols.txt: Update. |
| * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. |
| * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. |
| * config/abi/post/riscv64-linux-gnu/baseline_symbols.txt: Update. |
| * config/abi/post/powerpc64le-linux-gnu/baseline_symbols.txt: Update. |
| * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update. |
| |
| 2024-04-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2024-02-19 Iain Sandoe <iain@sandoe.co.uk> |
| Jonathan Wakely <jwakely@redhat.com> |
| |
| PR target/112397 |
| * configure: Regenerate. |
| * configure.ac: Detect if we are building for Darwin. |
| * libsupc++/Makefile.am: If we are building for Darwin, then |
| suppress hot/cold partitioning for the array allocators. |
| * libsupc++/Makefile.in: Regenerated. |
| |
| 2024-04-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2024-03-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * testsuite/lib/dg-options.exp (atomic_link_flags): Emit a -B |
| option for the path to the uninstalled libatomic. |
| |
| 2024-04-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2024-03-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * testsuite/lib/libstdc++.exp (v3_target_compile): Instead of |
| /dev/null, use a temporary file for test executables on Darwin. |
| |
| 2024-04-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114401 |
| * include/bits/hashtable.h (_Hashtable::_M_reinsert_node): Call |
| release() on node handle instead of just zeroing its pointer. |
| (_Hashtable::_M_reinsert_node_multi): Likewise. |
| (_Hashtable::_M_merge_unique): Likewise. |
| (_Hashtable::_M_merge_multi): Likewise. |
| * include/bits/node_handle.h (_Node_handle_common::release()): |
| New member function. |
| (_Node_handle_common::_Optional_alloc::_M_empty): Remove |
| unnecessary union member. |
| (_Node_handle_common): Declare _Hashtable as a friend. |
| * include/bits/stl_tree.h (_Rb_tree::_M_reinsert_node_unique): |
| Call release() on node handle instead of just zeroing its |
| pointer. |
| (_Rb_tree::_M_reinsert_node_equal): Likewise. |
| (_Rb_tree::_M_reinsert_node_hint_unique): Likewise. |
| (_Rb_tree::_M_reinsert_node_hint_equal): Likewise. |
| * testsuite/23_containers/multiset/modifiers/114401.cc: New test. |
| * testsuite/23_containers/set/modifiers/114401.cc: New test. |
| * testsuite/23_containers/unordered_multiset/modifiers/114401.cc: New test. |
| * testsuite/23_containers/unordered_set/modifiers/114401.cc: New test. |
| |
| 2024-04-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113841 |
| * include/bits/allocator.h (allocator<cv T>): Add default |
| constructor to partial specializations for cv-qualified types. |
| * include/bits/stl_vector.h (_Vector_impl::_Vector_impl()): |
| Constrain so that it's only present if the allocator is default |
| constructible. |
| * include/bits/stl_bvector.h (_Bvector_impl::_Bvector_impl()): |
| Likewise. |
| * testsuite/23_containers/vector/cons/113841.cc: New test. |
| |
| 2024-04-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114367 |
| * include/bits/stl_bvector.h (_M_allocate): Use allocator's |
| construct function to begin lifetime of words. |
| |
| 2024-03-20 François Dumont <fdumont@gcc.gnu.org> |
| |
| * include/std/iterator (__cpp_lib_null_iterators): Define regardless of |
| _GLIBCXX_DEBUG. |
| * include/std/version (__cpp_lib_null_iterators): Likewise. |
| |
| 2024-03-20 François Dumont <fdumont@gcc.gnu.org> |
| |
| Backported from master: |
| 2024-03-18 François Dumont <fdumont@gcc.gnu.org> |
| |
| * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_can_advance): |
| Accept 0 offset advance on value-initialized iterator. |
| * testsuite/23_containers/vector/debug/n3644.cc: New test case. |
| |
| 2024-03-20 François Dumont <fdumont@gcc.gnu.org> |
| |
| Backported from master: |
| 2024-03-18 François Dumont <fdumont@gcc.gnu.org> |
| |
| * include/debug/safe_local_iterator.tcc |
| (_Safe_local_iterator::_M_valid_range): Add _M_value_initialized and |
| _M_singular checks. |
| * testsuite/23_containers/unordered_set/debug/114316.cc: New test case. |
| |
| 2024-03-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/66146 |
| * doc/xml/manual/status_cxx2011.xml: Remove mention of Linux in |
| note about std::call_once. |
| * doc/xml/manual/status_cxx2014.xml: Likewise. |
| * doc/xml/manual/status_cxx2017.xml: Likewise. |
| * doc/html/manual/status.html: Regenerate. |
| |
| 2024-03-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/libstdc++-prettyprinters/cxx11.cc: Move custom_cat |
| to namespace scope. |
| |
| 2024-03-17 François Dumont <fdumont@gcc.gnu.org> |
| |
| Backported from master: |
| 2024-03-17 François Dumont <fdumont@gcc.gnu.org> |
| |
| PR libstdc++/114316 |
| * include/debug/safe_iterator.tcc (_Safe_iterator<>::_M_valid_range): |
| First check if both iterators are value-initialized before checking if |
| singular. |
| * testsuite/23_containers/set/debug/114316.cc: New test case. |
| * testsuite/23_containers/vector/debug/114316.cc: New test case. |
| |
| 2024-03-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__units_suffix_misc): Remove. |
| (__units_suffix): Return a known suffix as string view, do not |
| write unknown suffixes to a buffer. |
| (__fmt_units_suffix): New function that formats the suffix using |
| std::format_to. |
| (operator<<, __chrono_formatter::_M_q): Use __fmt_units_suffix. |
| (__chrono_formatter::_M_Z): Correct lifetime of wstring. |
| |
| 2024-03-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114147 |
| * include/std/tuple (tuple::tuple(allocator_arg_t, const Alloc&)): |
| Add missing overload of allocator-extended default constructor. |
| (tuple<T1,T2>::tuple(allocator_arg_t, const Alloc&)): Likewise. |
| * testsuite/20_util/tuple/cons/114147.cc: New test. |
| |
| 2024-03-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/status_cxx2023.xml: Close parenthesis. |
| * doc/html/manual/status.html: Regenerate. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-03-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/chrono (__get_leap_second_info): Update expiry |
| time for hardcoded list of leap seconds. |
| * testsuite/std/time/tzdb/leap_seconds.cc: Update comment. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (basic_format_arg::handle::__maybe_const_t): |
| Fix condition to check if const type is formattable. |
| (basic_format_arg::handle::handle(T&)): Remove redundant |
| static_assert. |
| * testsuite/std/format/formatter/basic.cc: New test. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__formatter_chrono): Always use |
| lvalue arguments to make_format_args. |
| * include/std/format (make_format_args): Change parameter pack |
| from forwarding references to lvalue references. Remove use of |
| remove_reference_t which is now unnecessary. |
| (format_to, formatted_size): Remove incorrect forwarding of |
| arguments. |
| * testsuite/20_util/duration/io.cc: Use lvalues as arguments to |
| make_format_args. |
| * testsuite/std/format/arguments/args.cc: Likewise. |
| * testsuite/std/format/arguments/lwg3810.cc: Likewise. |
| * testsuite/std/format/functions/format.cc: Likewise. |
| * testsuite/std/format/functions/vformat_to.cc: Likewise. |
| * testsuite/std/format/string.cc: Likewise. |
| * testsuite/std/time/day/io.cc: Likewise. |
| * testsuite/std/time/month/io.cc: Likewise. |
| * testsuite/std/time/weekday/io.cc: Likewise. |
| * testsuite/std/time/year/io.cc: Likewise. |
| * testsuite/std/time/year_month_day/io.cc: Likewise. |
| * testsuite/std/format/arguments/args_neg.cc: New test. |
| |
| 2024-03-12 Cassio Neri <cassio.neri@gmail.com> |
| |
| Backported from master: |
| 2024-01-05 Cassio Neri <cassio.neri@gmail.com> |
| |
| * include/std/chrono: Fix + and - for months and weekdays. |
| * testsuite/std/time/month/1.cc: Add constexpr tests against overflow. |
| * testsuite/std/time/month/2.cc: New test for extreme values. |
| * testsuite/std/time/weekday/1.cc: Add constexpr tests against overflow. |
| * testsuite/std/time/weekday/2.cc: New test for extreme values. |
| |
| 2024-03-12 Cassio Neri <cassio.neri@gmail.com> |
| |
| Backported from master: |
| 2023-11-14 Cassio Neri <cassio.neri@gmail.com> |
| |
| * include/std/chrono (operator-(const weekday&, const weekday&)): |
| Optimize. |
| |
| 2024-03-12 Cassio Neri <cassio.neri@gmail.com> |
| |
| Backported from master: |
| 2023-11-14 Cassio Neri <cassio.neri@gmail.com> |
| |
| * include/std/chrono (year::is_leap): Clear code. |
| |
| 2024-03-12 Cassio Neri <cassio.neri@gmail.com> |
| |
| Backported from master: |
| 2023-11-14 Cassio Neri <cassio.neri@gmail.com> |
| |
| * include/std/chrono (year_month_day_last::day): Remove &1. |
| |
| 2024-03-12 Cassio Neri <cassio.neri@gmail.com> |
| |
| Backported from master: |
| 2023-11-14 Cassio Neri <cassio.neri@gmail.com> |
| |
| * include/std/chrono (weekday::_S_from_days): Fix UB. |
| * testsuite/std/time/weekday/1.cc: Add test for overflow. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/span (span, as_bytes, as_writable_bytes): Add |
| [[nodiscard]] attribute on all non-void functions. |
| * testsuite/23_containers/span/back_assert_neg.cc: Suppress |
| nodiscard warning. |
| * testsuite/23_containers/span/back_neg.cc: Likewise. |
| * testsuite/23_containers/span/first_2_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/first_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/first_neg.cc: Likewise. |
| * testsuite/23_containers/span/front_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/front_neg.cc: Likewise. |
| * testsuite/23_containers/span/index_op_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/index_op_neg.cc: Likewise. |
| * testsuite/23_containers/span/last_2_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/last_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/last_neg.cc: Likewise. |
| * testsuite/23_containers/span/subspan_2_assert_neg.cc: |
| Likewise. |
| * testsuite/23_containers/span/subspan_3_assert_neg.cc: |
| Likewise. |
| * testsuite/23_containers/span/subspan_4_assert_neg.cc: |
| Likewise. |
| * testsuite/23_containers/span/subspan_5_assert_neg.cc: |
| Likewise. |
| * testsuite/23_containers/span/subspan_6_assert_neg.cc: |
| Likewise. |
| * testsuite/23_containers/span/subspan_assert_neg.cc: Likewise. |
| * testsuite/23_containers/span/subspan_neg.cc: Likewise. |
| * testsuite/23_containers/span/nodiscard.cc: New test. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/list.tcc (list::sort(Cmp)): Fix -Wsign-compare |
| warning for loop condition. |
| |
| 2024-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113960 |
| * include/bits/stl_algobase.h (__is_byte_iter): Replace with ... |
| (__memcmp_ordered_with): New concept. |
| (lexicographical_compare_three_way): Use __memcmp_ordered_with |
| instead of __is_byte_iter. Use correct length for memcmp. |
| * testsuite/25_algorithms/lexicographical_compare_three_way/113960.cc: |
| New test. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/appendix_contributing.xml: Change URLs to use |
| https. |
| * doc/html/manual/*: Regenerate. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/appendix_contributing.xml: Replace outdated |
| info on ChangeLog entries. |
| * doc/html/manual/appendix_contributing.html: Regenerate. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/tr2/dynamic_bitset (dynamic_bitset): Pass zero and one |
| characters to _M_copy_from_string. |
| * testsuite/tr2/dynamic_bitset/string.cc: New test. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/charconv (__from_chars_pow2_base): Convert base to |
| unsigned for call to __countr_zero. |
| (__from_chars_alnum): Likewise for call to __bit_width. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-23 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/util/testsuite_allocator.h (uneq_allocator): Fix |
| equality operator for heterogeneous comparisons. |
| |
| 2024-03-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/114152 |
| * include/experimental/scope (scope_exit scope_fail): Make |
| destructor unconditionally noexcept. |
| (scope_sucess): Fix noexcept-specifier. |
| * testsuite/experimental/scopeguard/114152.cc: New test. |
| |
| 2024-02-16 Paul Keir <paul.keir@uws.ac.uk> |
| |
| Backported from master: |
| 2024-02-12 Paul Keir <paul.keir@uws.ac.uk> |
| |
| PR libstdc++/113294 |
| * include/bits/basic_string.h (basic_string::operator=): Use |
| _M_use_local_data() instead of _M_local_buf on the moved-from |
| string. |
| * testsuite/21_strings/basic_string/modifiers/constexpr.cc |
| (test_move): New test. |
| |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/99117 |
| * include/std/valarray (valarray::operator=(const _Expr&)): |
| Use loop to copy instead of __valarray_copy with _Array. |
| * testsuite/26_numerics/valarray/99117.cc: New test. |
| |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdata.zi: Import new file from 2024a release. |
| * src/c++20/tzdb.cc (tzdb_list::_Node::_S_read_leap_seconds) |
| Update expiry date for leap seconds list. |
| |
| 2024-02-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/tr2/type_traits (bases, direct_bases): Use |
| __has_builtin to check if required built-ins are supported. |
| |
| 2024-02-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112467 |
| * include/bits/stl_bvector.h (_M_assume_normalized): Do not use |
| statement form of assume attribute for Clang. |
| |
| 2024-02-09 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 2023-11-09 Alexandre Oliva <oliva@adacore.com> |
| |
| PR libstdc++/110807 |
| * include/bits/stl_bvector.h (_Bit_iterator_base): Add |
| _M_assume_normalized member function. Call it in _M_bump_up, |
| _M_bump_down, _M_incr, operator==, operator<=>, operator<, and |
| operator-. |
| (_Bit_iterator): Also call it in operator*. |
| (_Bit_const_iterator): Likewise. |
| |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113258 |
| * libsupc++/new_opa.cc: Prefer to use posix_memalign if |
| available. |
| |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/experimental/internet (network_v6::network): Define. |
| (network_v6::hosts): Finish implementing. |
| (network_v6::to_string): Do not concatenate std::string to |
| arbitrary std::basic_string specialization. |
| * testsuite/experimental/net/internet/network/v6/cons.cc: New |
| test. |
| |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/90276 |
| * testsuite/util/pstl/test_utils.h (reverse_invoker): Do not use |
| perfect forwarding for iterator arguments. |
| |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/syncstream (basic_osyncstream::operator=): Remove |
| noexcept, as per LWG 3867. |
| |
| 2024-02-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-02-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/string_view (basic_string_view(R&&)): Remove |
| constraint that traits_type must be the same, as per LWG 3857. |
| * testsuite/21_strings/basic_string_view/cons/char/range_c++20.cc: |
| Explicit conversion between different specializations should be |
| allowed. |
| * testsuite/21_strings/basic_string_view/cons/wchar_t/range_c++20.cc: |
| Likewise. |
| |
| 2024-02-07 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backported from master: |
| 2023-10-13 Hans-Peter Nilsson <hp@axis.com> |
| |
| * testsuite/29_atomics/atomic/compare_exchange_padding.cc, |
| testsuite/29_atomics/atomic_flag/clear/1.cc, |
| testsuite/29_atomics/atomic_flag/cons/value_init.cc, |
| testsuite/29_atomics/atomic_flag/test_and_set/explicit.cc, |
| testsuite/29_atomics/atomic_flag/test_and_set/implicit.cc, |
| testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc, |
| testsuite/29_atomics/atomic_ref/generic.cc, |
| testsuite/29_atomics/atomic_ref/integral.cc, |
| testsuite/29_atomics/atomic_ref/pointer.cc: Replace |
| dg-require-thread-fence with dg-require-atomic-cmpxchg-word. |
| |
| 2024-02-07 Hans-Peter Nilsson <hp@axis.com> |
| |
| Backported from master: |
| 2023-10-13 Hans-Peter Nilsson <hp@axis.com> |
| |
| * testsuite/lib/dg-options.exp (dg-require-atomic-cmpxchg-word): |
| New proc. |
| * testsuite/lib/libstdc++.exp (check_v3_target_atomic_cmpxchg_word): |
| Ditto. |
| |
| 2024-02-07 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backported from master: |
| 2023-09-14 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * testsuite/29_atomics/atomic/compare_exchange_padding.cc: Likewise. |
| * testsuite/29_atomics/atomic/cons/value_init.cc: Likewise. |
| * testsuite/29_atomics/atomic_float/value_init.cc: Likewise. |
| * testsuite/29_atomics/atomic_integral/cons/value_init.cc: Likewise. |
| * testsuite/29_atomics/atomic_ref/compare_exchange_padding.cc: Likewise. |
| * testsuite/29_atomics/atomic_ref/generic.cc: Likewise. |
| * testsuite/29_atomics/atomic_ref/integral.cc: Likewise. |
| * testsuite/29_atomics/atomic_ref/pointer.cc: Likewise. |
| |
| 2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> |
| |
| Backported from master: |
| 2024-02-06 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com> |
| |
| * testsuite/lib/libstdc++.exp: Use "nul" for Windows, "/dev/null" |
| for other environments. |
| |
| 2024-01-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113500 |
| * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix |
| printing of subseconds with floating-point rep. |
| (__formatter_chrono::_M_format_to_ostream): Do not write |
| time_point specializations directly to the ostream. |
| (formatter<chrono::sys_time<D>, C>::parse): Do not allow an |
| empty chrono-spec if the type fails to meet the constraints for |
| writing to an ostream with operator<<. |
| * testsuite/std/time/clock/file/io.cc: Check formatting |
| non-integral times with empty chrono-specs. |
| * testsuite/std/time/clock/gps/io.cc: Likewise. |
| * testsuite/std/time/clock/utc/io.cc: Likewise. |
| * testsuite/std/time/hh_mm_ss/io.cc: Likewise. |
| |
| 2024-01-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono.h (__file_clock::from_sys) |
| (__file_clock::to_sys, __file_clock::_S_from_sys) |
| (__file_clock::_S_to_sys): Use common_type for return type. |
| * testsuite/std/time/clock/file/members.cc: Check round trip |
| conversion for time with lower precision that seconds. |
| |
| 2024-01-30 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113512 |
| * include/std/format (__formatter_fp::format): Fix logic for |
| alternate forms. |
| * testsuite/std/format/functions/format.cc: Check buggy cases of |
| alternate forms with g presentation type. |
| |
| 2024-01-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113450 |
| * testsuite/std/format/functions/format.cc: Use signed char |
| instead of int8_t. |
| |
| 2024-01-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/evolution.xml: Fix spelling. |
| * doc/html/manual/api.html: Regenerate. |
| |
| 2024-01-11 François Dumont <fdumont@gcc.gnu.org> |
| |
| PR libstdc++/112477 |
| * src/c++11/debug.cc |
| (_Safe_iterator_base::_M_attach): Reset _M_version to 0 if attaching to null |
| sequence. |
| (_Safe_iterator_base::_M_attach_single): Likewise. |
| (_Safe_local_iterator_base::_M_attach): Likewise. |
| (_Safe_local_iterator_base::_M_attach_single): Likewise. |
| * testsuite/23_containers/map/debug/112477.cc: New test case. |
| |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/evolution.xml: Document addition of |
| libstdc++exp.a. |
| * doc/html/*: Regenerate. |
| |
| 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> |
| |
| Backported from master: |
| 2024-01-11 Ken Matsui <kmatsui@gcc.gnu.org> |
| |
| PR libstdc++/113250 |
| * src/c++17/fs_ops.cc (fs::equivalent): Use || instead of &&. |
| * src/filesystem/ops.cc (fs::equivalent): Likewise. |
| * testsuite/27_io/filesystem/operations/equivalent.cc: Handle |
| error codes. |
| * testsuite/experimental/filesystem/operations/equivalent.cc: |
| Likewise. |
| |
| 2024-01-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/html/manual/*: Regenerate. |
| * doc/xml/manual/using.xml: Update documentation on linking. |
| * scripts/testsuite_flags.in: Adjust LDFLAGS to find |
| libstdc++exp instead of libstdc++_libbacktrace. |
| * src/c++20/Makefile.am: Fix comment. |
| * src/c++20/Makefile.in: Regenerate. |
| * src/experimental/Makefile.am: Use LIBADD to include other |
| libraries. |
| * src/experimental/Makefile.in: Regenerate. |
| * testsuite/19_diagnostics/stacktrace/current.cc: Adjust |
| dg-options to use -lstdc++exp. |
| * testsuite/19_diagnostics/stacktrace/entry.cc: Likewise. |
| * testsuite/19_diagnostics/stacktrace/stacktrace.cc: Likewise. |
| * testsuite/23_containers/vector/debug/assign4_backtrace_neg.cc: |
| Likewise. |
| |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/format/functions/format.cc: Add more checks for |
| wstring formatting of arithmetic types. |
| |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * 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. |
| (__cpp_lib_format_uchar): Define. |
| * include/std/version (__cpp_lib_format_uchar): Define. |
| * testsuite/std/format/functions/format.cc: Adjust test. Check |
| formatting of characters using all integer presentation types. |
| |
| 2024-01-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113241 |
| * include/std/type_traits (is_convertible_v): Guard use of |
| built-in with preprocessor check. |
| |
| 2024-01-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2024-01-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/113200 |
| * include/bits/char_traits.h (__gnu_cxx::char_traits::move): Use |
| __builtin_constant_p to check for unrelated pointers that cannot |
| be compared during constant evaluation. |
| * testsuite/21_strings/char_traits/requirements/113200.cc: New |
| test. |
| |
| 2024-01-03 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 2024-01-03 Patrick Palka <ppalka@redhat.com> |
| |
| PR testsuite/113175 |
| * testsuite/std/ranges/iota/max_size_type.cc (test02): Reduce |
| 'limit' to 100 from 1000 and adjust 'log2_limit' accordingly. |
| (test03): Likewise. |
| |
| 2023-12-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/27_io/objects/char/2.cc: Use dg-output. |
| * testsuite/27_io/objects/wchar_t/2.cc: Use dg-output. |
| |
| 2023-12-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__formatter_chrono::_M_S): Fix order |
| of arguments to std::format_to. |
| * testsuite/20_util/duration/io.cc: Test subsecond duration with |
| floating-point rep. |
| |
| 2023-12-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Do |
| not round century down for %Y formats. |
| |
| 2023-12-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/format/functions/format.cc: Check for expected |
| output for char and bool arguments. |
| * testsuite/std/format/string.cc: Check that 0 filling is |
| rejected for character and string formats. |
| |
| 2023-12-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/chrono_io.h (__formatter_chrono::_M_C_y_Y): Fix |
| rounding for negative centuries. |
| * testsuite/std/time/year/io.cc: Check %C for negative years. |
| |
| 2023-12-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/111826 |
| * include/std/format (__cpp_lib_format): Update value. |
| * include/std/version (__cpp_lib_format): Likewise. |
| * testsuite/std/format/functions/format.cc: Update expected |
| value. |
| |
| 2023-12-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (_Iter_sink<charT, contiguous_iterator>): |
| Remove uint64_t local type. |
| |
| 2023-12-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/atomic_wait.h: Include <cstdint> instead of |
| <stdint.h>. |
| |
| 2023-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/111948 |
| * include/bits/ranges_util.h (subrange): Add constructor to |
| _Size to avoid setting member in constructor. |
| * testsuite/std/ranges/subrange/111948.cc: New test. |
| |
| 2023-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112480 |
| * include/std/optional (_Optional_payload_base::_M_reset): Set |
| _M_engaged to false unconditionally. |
| |
| 2023-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112473 |
| * include/bits/utility.h (integer_sequence): Add static_assert. |
| * testsuite/20_util/integer_sequence/112473.cc: New test. |
| |
| 2023-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-12-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112832 |
| * include/std/format (formatter::set_debug_format): Ensure this |
| member is defined conditionally for all specializations. |
| * testsuite/std/format/formatter/112832.cc: New test. |
| |
| 2023-12-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/110133 |
| * include/std/system_error (system_error::system_error): Group |
| arguments so that concatenation can reuse rvalue's capacity. |
| * src/c++11/system_error.cc (strerror_string): New function. |
| [_GLIBCXX_HAVE_STRERROR_R] (use_strerror_result): New functions. |
| (generic_error_category::message): Use strerror_string. |
| (system_error_category::message): Likewise. |
| |
| 2023-12-05 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 2023-10-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * testsuite/tr1/8_c_compatibility/cstdio/functions.cc (test01): |
| Initialize stream to va_arg(ap, FILE*) rather than 0. |
| * testsuite/tr1/8_c_compatibility/cwchar/functions.cc (test01): |
| Likewise. |
| |
| 2023-11-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112607 |
| * include/std/format (basic_format_arg::_S_to_arg_type): Check |
| value_type for basic_string_view and basic_string |
| specializations. |
| * testsuite/std/format/arguments/112607.cc: New test. |
| |
| 2023-11-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/atomic_wait.h: Include <stdint.h>. |
| |
| 2023-11-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/utility (in_range): Rename _Up parameter to _Res. |
| |
| 2023-11-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112491 |
| * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.index): |
| Correctly handle unused capacity at the start of the first node. |
| * testsuite/libstdc++-xmethods/deque.cc: Check index operator |
| when elements have been removed from the front. |
| |
| 2023-11-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/stacktrace (basic_stacktrace::at): Fix class name |
| in exception message. |
| * testsuite/19_diagnostics/stacktrace/hash.cc: Do not fail if |
| current() returns a non-empty stacktrace. |
| |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112348 |
| * include/std/stacktrace (hash<basic_stacktrace<Alloc>>): Fix |
| type of hash function for entries. |
| * testsuite/19_diagnostics/stacktrace/hash.cc: New test. |
| |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112491 |
| * python/libstdcxx/v6/xmethods.py (DequeWorkerBase.size): Fix |
| calculation to use _M_start._M_cur. |
| * testsuite/libstdc++-xmethods/deque.cc: Check failing cases. |
| |
| 2023-11-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/time/clock/file/io.cc: Double timeout using |
| dg-timeout-factor. |
| * 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. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-10-04 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py |
| (StdExpAnyPrinter.__init__): Qualify call to |
| _string_types. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-10-04 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py: Assume that |
| _versioned_namespace is non-None. |
| * python/libstdcxx/v6/xmethods.py (is_specialization_of): |
| Assume that _versioned_namespace is non-None. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-10-04 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/xmethods.py (_versioned_namespace): |
| Define. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-09-28 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py (Printer.add_version) |
| (add_one_template_type_printer) |
| (FilteringTypePrinter.add_one_type_printer): Use Python |
| "not in" operator. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-09-28 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py (std_ratio_t_tuple): |
| Remove. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-09-28 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py |
| (StdExpOptionalPrinter.__init__, lookup_node_type): |
| Remove unused variables. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-09-28 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py: Don't import 'os'. |
| * python/libstdcxx/v6/__init__.py: Don't import 'gdb'. |
| |
| 2023-11-13 Tom Tromey <tromey@adacore.com> |
| |
| Backported from master: |
| 2023-09-28 Tom Tromey <tromey@adacore.com> |
| |
| * python/libstdcxx/v6/printers.py: Use gdb.ValuePrinter |
| everywhere. Rename members to start with "_". |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/xmethods.py (is_specialization_of): Define |
| new function. |
| (ArrayMethodsMatcher, DequeMethodsMatcher) |
| (ForwardListMethodsMatcher, ListMethodsMatcher) |
| (VectorMethodsMatcher, AssociativeContainerMethodsMatcher) |
| (UniquePtrGetWorker, UniquePtrMethodsMatcher) |
| (SharedPtrSubscriptWorker, SharedPtrMethodsMatcher): Use |
| is_specialization_of instead of re.match. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py: Break long lines. Use raw |
| strings for regular expressions. Add whitespace around |
| operators. |
| (is_member_of_namespace): Use isinstance to check type. |
| (is_specialization_of): Likewise. Adjust template_name |
| for versioned namespace instead of duplicating the re.match |
| call. |
| (StdExpAnyPrinter._string_types): New static method. |
| (StdExpAnyPrinter.to_string): Use _string_types. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py: Format docstrings according |
| to PEP 257. |
| * python/libstdcxx/v6/xmethods.py: Likewise. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py (StdChronoTimeZoneRulePrinter): |
| Fix incorrect number of replacement fields. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py: Reformat. |
| * python/libstdcxx/v6/xmethods.py: Likewise. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * python/libstdcxx/v6/printers.py (StdLocalePrinter): New |
| printer class. |
| * testsuite/libstdc++-prettyprinters/locale.cc: New test. |
| |
| 2023-11-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/110944 |
| * python/libstdcxx/v6/printers.py (StdExpOptionalPrinter): Do |
| not show template arguments. |
| (StdVariantPrinter): Likewise. |
| * testsuite/libstdc++-prettyprinters/compat.cc: Adjust expected |
| output. |
| * testsuite/libstdc++-prettyprinters/cxx17.cc: Likewise. |
| * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/29_atomics/headers/atomic/types_std_c++2a_neg.cc: |
| Fix test to work for C++23 and C++26 too. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/24_iterators/move_iterator/p2520r0.cc: Add no_pch. |
| * testsuite/std/format/functions/format.cc: Likewise. |
| * testsuite/std/format/functions/format_c++23.cc: Likewise. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/basic_string.tcc (resize_and_overwrite): Invoke |
| the callable with the same size as resize_and_overwrite was |
| called with. |
| * testsuite/21_strings/basic_string/capacity/char/resize_and_overwrite.cc: |
| Check with small values for the new size. |
| * testsuite/std/format/functions/format.cc: Check wide |
| formatting of double values that produce small strings. |
| * testsuite/std/format/functions/format_c++23.cc: New test. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/lib/dg-options.exp (add_options_for_no_pch): Remove |
| any "-include bits/stdc++.h" from options and add the macro to |
| the existing options instead of replacing them. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-11-09 Pekka Seppänen <pexu@gcc.mail.kapsi.fi> |
| |
| Backported from master: |
| 2023-09-11 Pekka Seppänen <pexu@gcc.mail.kapsi.fi> |
| |
| * src/c++11/cow-locale_init.cc: Add [[maybe_unused]] attribute. |
| * src/c++17/fs_path.cc (path::_S_convert_loc): Likewise. |
| * src/filesystem/path.cc (path::_S_convert_loc): Likewise. |
| |
| 2023-11-09 Alexey Lapshin <alexey.lapshin@espressif.com> |
| |
| Backported from master: |
| 2023-09-08 Alexey Lapshin <alexey.lapshin@espressif.com> |
| |
| * src/libbacktrace/Makefile.am: Remove -Werror. |
| * src/libbacktrace/Makefile.in: Regenerate. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/23_containers/unordered_map/operations/1.cc: Add |
| dg-options for C++20 mode. |
| * testsuite/23_containers/unordered_multimap/operations/1.cc: |
| Likewise. |
| * testsuite/23_containers/unordered_multiset/operations/1.cc: |
| Likewise. |
| * testsuite/23_containers/unordered_set/operations/1.cc: |
| Likewise. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Check for mkdir, |
| chmod, chdir, and getcwd. |
| * config.h.in: Regenerate. |
| * configure: Regenerate. |
| * src/c++17/fs_ops.cc (create_dir): Use USE_MKDIR macro. |
| (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. |
| (fs::permissions): Use USE_CHMOD macro. |
| * src/filesystem/ops-common.h [FILESYSTEM_IS_WINDOWS] |
| (chmod, mkdir, getcwd, chdir): Define new macros. |
| [FILESYSTEM_IS_WINDOWS] (chmod, mkdir, getcwd, chdir): Use |
| new macros. |
| * src/filesystem/ops.cc (create_dir): Use USE_MKDIR macro. |
| (fs::current_path): Use USE_GETCWD and USE_CHDIR macros. |
| (fs::permissions): Use USE_CHMOD macro. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/111172 |
| * include/std/variant (get<T>): Remove !is_void static |
| assertions. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++11/debug.cc (acquire_sequence_ptr_for_lock): New |
| function. |
| (reset_sequence_ptr): New function. |
| (_Safe_iterator_base::_M_detach) |
| (_Safe_local_iterator_base::_M_detach): Replace bare atomic_load |
| with acquire_sequence_ptr_for_lock. |
| (_Safe_iterator_base::_M_reset): Replace bare atomic_store with |
| reset_sequence_ptr. |
| |
| 2023-11-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++11/Makefile.am: Add new file. |
| * src/c++11/Makefile.in: Regenerate. |
| * src/c++11/debug.cc (__glibcxx_assert_fail): Move to ... |
| * src/c++11/assert_fail.cc: New file. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/expected (expected::and_then, expected::or_else): |
| Add string literals to static assertions. |
| * include/std/optional (optional::and_then, optional::or_else): |
| Likewise. |
| |
| 2023-11-08 Feng Jisen <J1senn@outlook.com> |
| |
| Backported from master: |
| 2023-11-04 Feng Jisen <J1senn@outlook.com> |
| |
| * include/bits/utility.h (_Nth_type): Remove redundant partial |
| specialization. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112314 |
| * include/std/string_view (string_view::remove_suffix): Add |
| debug assertion. |
| * testsuite/21_strings/basic_string_view/modifiers/remove_prefix/debug.cc: |
| New test. |
| * testsuite/21_strings/basic_string_view/modifiers/remove_suffix/debug.cc: |
| New test. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-11-02 Jonathan Wakely <jwakely@redhat.com> |
| |
| * acinclude.m4 (GLIBCXX_ENABLE_C99): Fix snprintf checks. |
| * configure: Regenerate. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-10-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/112089 |
| * include/std/shared_mutex (shared_lock::unlock): Change errc |
| constant to operation_not_permitted. |
| * testsuite/30_threads/shared_lock/locking/112089.cc: New test. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-10-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/20_util/duration/io.cc: Double timeout using |
| dg-timeout-factor. |
| * testsuite/std/time/day/io.cc: Likewise. |
| * testsuite/std/time/format.cc: Likewise. |
| * testsuite/std/time/hh_mm_ss/io.cc: Likewise. |
| * testsuite/std/time/month/io.cc: Likewise. |
| * testsuite/std/time/month_day/io.cc: Likewise. |
| * testsuite/std/time/month_day_last/io.cc: Likewise. |
| * testsuite/std/time/month_weekday/io.cc: Likewise. |
| * testsuite/std/time/month_weekday_last/io.cc: Likewise. |
| * testsuite/std/time/weekday/io.cc: Likewise. |
| * testsuite/std/time/weekday_indexed/io.cc: Likewise. |
| * testsuite/std/time/weekday_last/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/year_month_day_last/io.cc: Likewise. |
| * testsuite/std/time/year_month_weekday/io.cc: Likewise. |
| * testsuite/std/time/year_month_weekday_last/io.cc: Likewise. |
| * testsuite/std/time/zoned_time/io.cc: Likewise. |
| |
| 2023-11-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-10-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/basic_string.h (_M_init_local_buf()): New |
| function. |
| (_M_use_local_data()): Use _M_init_local_buf. |
| (basic_string(), basic_string(const Alloc&)) |
| (basic_string(basic_string&&)) |
| (basic_string(basic_string&&, const Alloc&)): Use |
| _M_init_local_buf instead of _M_use_local_data(). |
| * include/bits/basic_string.tcc (swap(basic_string&)) |
| (_M_construct(InIter, InIter, input_iterator_tag)) |
| (_M_construct(InIter, InIter, forward_iterator_tag)) |
| (_M_construct(size_type, CharT), reserve()): Likewise. |
| |
| 2023-11-06 Ian Lance Taylor <iant@golang.org> |
| |
| PR libbacktrace/111315 |
| PR libbacktrace/112263 |
| * acinclude.m4: Set -D_GNU_SOURCE in BACKTRACE_CPPFLAGS and when |
| grepping link.h for dl_iterate_phdr. |
| * configure: Regenerate. |
| |
| 2023-10-30 François Dumont <fdumont@gcc.gnu.org> |
| |
| * src/experimental/contract.cc |
| [_GLIBCXX_INLINE_VERSION](handle_contract_violation): Provide symbol |
| without version namespace decoration for gcc. |
| |
| 2023-10-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-10-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/111936 |
| * src/libbacktrace/Makefile.am: Add -prefer-pic to libtool |
| compile commands. |
| * src/libbacktrace/Makefile.in: Regenerate. |
| |
| 2023-10-25 Paul M. Bendixen <paulbendixen@gmail.com> |
| |
| Backported from master: |
| 2023-10-24 Paul M. Bendixen <paulbendixen@gmail.com> |
| |
| * include/Makefile.am: Move cstdarg, cstdalign and cstdbool to |
| freestanding. |
| * include/Makefile.in: Regenerate. |
| |
| 2023-10-23 François Dumont <fdumont@gcc.gnu.org> |
| |
| * include/bits/hashtable_policy.h |
| (_Hash_code_base::_M_hash_code(const _Hash&, const _Hash_node_value<>&)): Remove. |
| (_Hash_code_base::_M_hash_code<_H2>(const _H2&, const _Hash_node_value<>&)): Remove. |
| * include/bits/hashtable.h |
| (_M_src_hash_code<_H2>(const _H2&, const key_type&, const __node_value_type&)): New. |
| (_M_merge_unique<>, _M_merge_multi<>): Use latter. |
| * testsuite/23_containers/unordered_map/modifiers/merge.cc |
| (test04, test05, test06): New test cases. |
| |
| 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu> |
| |
| Backported from master: |
| 2023-10-21 Benjamin Brock <brock@cs.berkeley.edu> |
| |
| * include/std/ranges (zip_view, adjacent_view): Implement |
| workaround for LLVM-61763. |
| |
| 2023-10-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-10-21 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/fs_dir.h (operator==(default_sentinel_t)): Fix |
| indentation. |
| |
| 2023-10-21 Nathaniel Shead <nathanieloshead@gmail.com> |
| |
| Backported from master: |
| 2023-09-29 Nathaniel Shead <nathanieloshead@gmail.com> |
| |
| * include/bits/basic_string.h: (basic_string(basic_string&&)): |
| Activate _M_local_buf when needed. |
| (basic_string(basic_string&&, const _Alloc&)): Likewise. |
| * include/bits/basic_string.tcc: (basic_string::swap): Likewise. |
| * include/std/variant: (__detail::__variant::__construct_n): New. |
| (__detail::__variant::__emplace): Use __construct_n. |
| |
| 2023-10-02 Tim Song <t.canens.cpp@gmail.com> |
| |
| Backported from master: |
| 2023-09-28 Tim Song <t.canens.cpp@gmail.com> |
| |
| PR libstdc++/111050 |
| * include/bits/hashtable_policy.h |
| (_Hash_node_value_base<>::_M_valptr(), _Hash_node_value_base<>::_M_v()) |
| Add [[__gnu__::__always_inline__]]. |
| |
| 2023-09-27 Paul Dreik <gccpatches@pauldreik.se> |
| |
| Backported from master: |
| 2023-08-24 Paul Dreik <gccpatches@pauldreik.se> |
| |
| PR libstdc++/111102 |
| * testsuite/std/format/string.cc: Check wide character format |
| strings with out-of-range widths. |
| |
| 2023-09-27 François Dumont <fdumont@gcc.gnu.org> |
| |
| Backported from master: |
| 2023-09-13 François Dumont <fdumont@gcc.gnu.org> |
| |
| * include/std/format (std::__format::_Arg_store): Explicit version |
| namespace on make_format_args friend declaration. |
| |
| 2023-09-27 Paul Dreik <gccpatches@pauldreik.se> |
| |
| Backported from master: |
| 2023-08-24 Paul Dreik <gccpatches@pauldreik.se> |
| |
| PR libstdc++/111102 |
| * include/std/format (__format::__parse_integer): Check for |
| non-null pointer. |
| |
| 2023-09-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-09-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-09-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-09-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/111511 |
| PR c++/111512 |
| * include/std/array (to_array): Qualify calls to __to_array. |
| * testsuite/23_containers/array/creation/111512.cc: New test. |
| |
| 2023-09-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/configure.xml: Use conventional option name. |
| * doc/xml/manual/status_cxx2020.xml: Update. |
| * doc/xml/manual/status_cxx2023.xml: Update. |
| * doc/html/*: Regenerate. |
| |
| 2023-09-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/111357 |
| * include/bits/utility.h (make_integer_sequence): Add cast. |
| * testsuite/20_util/integer_sequence/pr111357.cc: New test. |
| |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/test.xml: Update reference to -std=gnu++14 as |
| the default. |
| * doc/html/manual/test.html: Regenerate. |
| |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/20_util/uses_allocator/lwg3677.cc: Fix -std in |
| dg-options. |
| |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/27_io/filesystem/path/108636.cc: Add dg-require for |
| filesystem support. |
| |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (tzdb::current_zone): Check configure macros |
| for POSIX readlink before using filesystem::read_symlink. |
| |
| 2023-09-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-09-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (__format::_Sink::_M_reset): Change second |
| argument from iterator to offset. |
| |
| 2023-08-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (__format::_Pres_type): Add _Pres_F. |
| (__formatter_fp::parse): Use _Pres_F for 'F'. |
| (__formatter_fp::format): Set __upper for _Pres_F. |
| * testsuite/std/format/functions/format.cc: Check formatting of |
| infinity and NaN for each presentation type. |
| |
| 2023-08-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (tzdata_file, leaps_file): Change type to |
| std::string_view. |
| |
| 2023-08-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/experimental/internet (address_v4::to_string): Remove |
| unused parameter name. |
| |
| 2023-08-22 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * libsupc++/compare (__cmp_cat::__unseq): Make ctor consteval. |
| * testsuite/18_support/comparisons/categories/zero_neg.cc: Prune |
| excess errors caused by invalid consteval calls. |
| |
| 2023-08-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-14 Paul Dreik <gccpatches@pauldreik.se> |
| |
| PR libstdc++/110860 |
| * include/std/format (__formatter_fp::format): Use frexp instead |
| of log10. |
| |
| 2023-08-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-08-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/110974 |
| * include/std/format (_Spec::_M_parse_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-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-08 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-07-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Deev Patel <pateldeev@nevada.unr.edu> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-27 Release Manager |
| |
| * GCC 13.2.0 released. |
| |
| 2023-07-19 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. |
| |
| 2023-07-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-07-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backported from master: |
| 2023-07-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * testsuite/lib/libstdc++.exp: Remove additional flag handled |
| by Darwin specs. |
| |
| 2023-07-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-07-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Tianqiang Shuai <1101282468@qq.com> |
| |
| Backported from master: |
| 2023-07-06 Tianqiang Shuai <1101282468@qq.com> |
| |
| * config/io/basic_file_stdio.cc (xwrite) [USE_STDIO_PURE]: Fix |
| first argument. |
| |
| 2023-07-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-07-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-07-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-07-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/104299 |
| * doc/xml/manual/configure.xml: Describe stdio_pure argument to |
| --enable-cstdio. |
| * doc/html/manual/configure.html: Regenerate. |
| |
| 2023-06-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-06 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-05-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/experimental/feat-cxx14.cc: Remove dependency on |
| _GLIBCXX_USE_C99_STDINT_TR1. |
| |
| 2023-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-06-01 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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-30 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-30 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 2023-05-25 Alexandre Oliva <oliva@adacore.com> |
| |
| * testsuite/20_util/to_chars/long_double.cc: Expect execution |
| fail on x86-vxworks. |
| |
| 2023-05-25 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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-25 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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-25 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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-25 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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-25 Matthias Kretz <m.kretz@gsi.de> |
| |
| Backported from master: |
| 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-17 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-05-11 Jonathan Wakely <jwakely@redhat.com> |
| |
| * config/abi/pre/gnu.ver: Export basic_string::_S_allocate. |
| * include/bits/basic_string.h: (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. |
| |
| 2023-05-05 Alexandre Oliva <oliva@adacore.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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-05-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from master: |
| 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-05-03 Kefu Chai <kefu.chai@scylladb.com> |
| |
| Backported from master: |
| 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-04-28 Patrick Palka <ppalka@redhat.com> |
| |
| Backported from master: |
| 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-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 2023-04-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/move.h: Simplify opening/closing namespace std. |
| |
| 2023-04-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 2023-04-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/memory_resource.h: Improve doxygen comments. |
| * include/std/memory_resource: Likewise. |
| |
| 2023-04-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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-26 Release Manager |
| |
| * GCC 13.1.0 released. |
| |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 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 |
| 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> |
| |
| Backported from master: |
| 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> |
| |
| Backported from master: |
| 2023-04-18 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/109525 |
| * include/std/ranges (views::_AsConst::operator()): Add |
| missing const to constant_range test. |
| * testsuite/std/ranges/adaptors/as_const/1.cc (test02): |
| Improve formatting. Adjust expected type of v2. |
| (test03): New test. |
| |
| 2023-04-14 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/ranges_base.h (const_iterator_t): Define for C++23. |
| (const_sentinel_t): Likewise. |
| (range_const_reference_t): Likewise. |
| (constant_range): Likewise. |
| (__cust_access::__possibly_const_range): Likewise, replacing ... |
| (__cust_access::__as_const): ... this. |
| (__cust_access::_CBegin::operator()): Redefine for C++23 as per P2278R4. |
| (__cust_access::_CEnd::operator()): Likewise. |
| (__cust_access::_CRBegin::operator()): Likewise. |
| (__cust_access::_CREnd::operator()): Likewise. |
| (__cust_access::_CData::operator()): Likewise. |
| * include/bits/ranges_util.h (ranges::__detail::__different_from): |
| Make it an alias of std::__detail::__different_from. |
| (view_interface::cbegin): Define for C++23. |
| (view_interface::cend): Likewise. |
| * include/bits/stl_iterator.h (__detail::__different_from): Define. |
| (iter_const_reference_t): Define for C++23. |
| (__detail::__constant_iterator): Likewise. |
| (__detail::__is_const_iterator): Likewise. |
| (__detail::__not_a_const_iterator): Likewise. |
| (__detail::__iter_const_rvalue_reference_t): Likewise. |
| (__detail::__basic_const_iter_cat):: Likewise. |
| (const_iterator): Likewise. |
| (__detail::__const_sentinel): Likewise. |
| (const_sentinel): Likewise. |
| (basic_const_iterator): Likewise. |
| (common_type<basic_const_iterator<_Tp>, _Up>): Likewise. |
| (common_type<_Up, basic_const_iterator<_Tp>>): Likewise. |
| (common_type<basic_const_iterator<_Tp>, basic_const_iterator<Up>>): |
| Likewise. |
| (make_const_iterator): Define for C++23. |
| (make_const_sentinel): Likewise. |
| * include/std/ranges (__cpp_lib_ranges_as_const): Likewise. |
| (as_const_view): Likewise. |
| (enable_borrowed_range<as_const_view>): Likewise. |
| (views::__detail::__is_ref_view): Likewise. |
| (views::__detail::__can_is_const_view): Likewise. |
| (views::_AsConst, views::as_const): Likewise. |
| * include/std/span (span::const_iterator): Likewise. |
| (span::const_reverse_iterator): Likewise. |
| (span::cbegin): Likewise. |
| (span::cend): Likewise. |
| (span::crbegin): Likewise. |
| (span::crend): Likewise. |
| * include/std/version (__cpp_lib_ranges_as_const): Likewise. |
| * testsuite/std/ranges/adaptors/join.cc (test06): Adjust to |
| behave independently of C++20 vs C++23. |
| * testsuite/std/ranges/version_c++23.cc: Verify value of |
| __cpp_lib_ranges_as_const macro. |
| * testsuite/24_iterators/const_iterator/1.cc: New test. |
| * testsuite/std/ranges/adaptors/as_const/1.cc: New test. |
| |
| 2023-04-14 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/ranges_base.h (__cust_access::__as_const) |
| (__cust_access::_CBegin, __cust::cbegin) |
| (__cust_access::_CEnd, __cust::cend) |
| (__cust_access::_CRBegin, __cust::crbegin) |
| (__cust_access::_CREnd, __cust::crend) |
| (__cust_access::_CData, __cust::cdata): Move down definitions to |
| shortly after the definition of input_range. |
| |
| 2023-04-14 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/ranges_algo.h: Include <optional> for C++23. |
| (__cpp_lib_fold): Define for C++23. |
| (in_value_result): Likewise. |
| (__detail::__flipped): Likewise. |
| (__detail::__indirectly_binary_left_foldable_impl): Likewise. |
| (__detail::__indirectly_binary_left_foldable): Likewise. |
| (___detail:__indirectly_binary_right_foldable): Likewise. |
| (fold_left_with_iter_result): Likewise. |
| (__fold_left_with_iter_fn, fold_left_with_iter): Likewise. |
| (__fold_left_fn, fold_left): Likewise. |
| (__fold_left_first_with_iter_fn, fold_left_first_with_iter): |
| Likewise. |
| (__fold_left_first_fn, fold_left_first): Likewise. |
| (__fold_right_fn, fold_right): Likewise. |
| (__fold_right_last_fn, fold_right_last): Likewise. |
| * include/std/version (__cpp_lib_fold): Likewise. |
| * testsuite/25_algorithms/fold_left/1.cc: New test. |
| * testsuite/25_algorithms/fold_right/1.cc: New test. |
| |
| 2023-04-14 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/format (formatter): Add comment to deleted default |
| constructor of primary template. |
| (_Checking_scanner): Add static_assert. |
| |
| 2023-04-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/xml/manual/using.xml: Document libstdc++exp.a library. |
| * doc/html/*: Regenerate. |
| |
| 2023-04-12 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: |
| 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)): |
| Likewise. |
| * testsuite/experimental/net/internet/endpoint/cons.cc: Only |
| check constexpr default constructor for C++20 and later. |
| * testsuite/experimental/net/internet/endpoint/extensible.cc: |
| Likewise. |
| |
| 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: |
| Likewise. |
| * testsuite/experimental/net/internet/endpoint/cons.cc: |
| Likewise. |
| * testsuite/experimental/net/internet/network/v4/cons.cc: |
| Likewise. |
| * testsuite/experimental/net/internet/network/v4/members.cc: |
| Likewise. |
| * testsuite/experimental/net/internet/endpoint/extensible.cc: New test. |
| |
| 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()): |
| 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> |
| |
| * src/filesystem/ops-common.h (get_temp_directory_from_env): Fix |
| formatting. |
| |
| 2023-03-20 Marek Polacek <polacek@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. |
| |
| 2023-03-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/Makefile.am: Add comment referring to documentation. |
| * doc/Makefile.in: Regenerate. |
| |
| 2023-03-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * 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> |
| |
| * include/std/ranges |
| (cartesian_product_view::_Iterator::_Iterator): Remove |
| constraint on default constructor as per LWG 3849. |
| (cartesian_product_view::_Iterator::_M_prev): Adjust position |
| of _Nm > 0 test as per LWG 3820. |
| (cartesian_product_view::_Iterator::_M_advance): Perform bounds |
| checking only on sized cartesian products. |
| * testsuite/std/ranges/cartesian_product/1.cc (test08): New test. |
| |
| 2023-03-09 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/109024 |
| * include/std/ranges (chunk_by_view::_M_pred): Remove DMI as per |
| LWG 3796. |
| (repeat_view::_M_pred): Likewise. |
| * testsuite/std/ranges/adaptors/chunk_by/1.cc (test03): New test. |
| * testsuite/std/ranges/repeat/1.cc (test05): New test. |
| |
| 2023-03-09 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/108362 |
| * include/std/ranges (__detail::__can_single_view): New concept. |
| (_Single::operator()): Constrain it. Move [[nodiscard]] to the |
| end of the function declarator. |
| (__detail::__can_iota_view): New concept. |
| (_Iota::operator()): Constrain it. Move [[nodiscard]] to the |
| end of the function declarator. |
| (__detail::__can_istream_view): New concept. |
| (_Istream::operator()): Constrain it. Move [[nodiscard]] to the |
| end of the function declarator. |
| * testsuite/std/ranges/iota/iota_view.cc (test07): New test. |
| * testsuite/std/ranges/istream_view.cc (test08): New test. |
| * testsuite/std/ranges/single_view.cc (test07): New test. |
| |
| 2023-03-09 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/107572 |
| * include/std/ranges (cartesian_product_view::end): When |
| building the tuple of iterators, avoid calling ranges::begin on |
| the first range if __empty_tail is false. |
| * testsuite/std/ranges/cartesian_product/1.cc (test07): New test. |
| |
| 2023-03-09 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108882 |
| * config/os/gnu-linux/ldbl-ieee128-extra.ver: Fix incorrect |
| patterns. |
| |
| 2023-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * 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++/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}. |
| |
| 2023-03-07 Jonathan Wakely <jwakely@redhat.com> |
| |
| * libsupc++/eh_personality.cc: Fix spelling in comment. |
| |
| 2023-03-03 Alexandre Oliva <oliva@adacore.com> |
| |
| * testsuite/30_threads/async/async.cc (test04): Initialize |
| steady_start, renamed from steady_begin, next to slow_start. |
| Increase tolerance for final wait. |
| |
| 2023-03-03 Alexandre Oliva <oliva@adacore.com> |
| |
| * testsuite/libstdc++-prettyprinters/80276.cc: Add |
| std::string to debug info. |
| * testsuite/libstdc++-prettyprinters/libfundts.cc: Likewise. |
| |
| 2023-03-03 Alexandre Oliva <oliva@adacore.com> |
| |
| 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. |
| |
| 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 |
| 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> |
| |
| * include/experimental/internet (address_v4::to_string): |
| Optimize. |
| * testsuite/experimental/net/internet/address/v4/members.cc: |
| Check more addresses. |
| |
| 2023-02-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/ext/aligned_buffer.h (__aligned_buffer): Add |
| diagnostic pragmas. |
| |
| 2023-02-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/format/arguments/lwg3810.cc: Move dg-options |
| before dg-do. |
| |
| 2023-02-23 Matthias Kretz <m.kretz@gsi.de> |
| |
| * 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++/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. |
| |
| 2023-02-22 Alexandre Oliva <oliva@adacore.com> |
| |
| * src/c++11/shared_ptr.cc (__gnu_internal::get_mutex): |
| Avoid destruction of the mutex pool. |
| |
| 2023-02-22 Alexandre Oliva <oliva@adacore.com> |
| |
| * testsuite/27_io/basic_ofstream/open/char/noreplace.cc: xfail |
| on vxworks. |
| * testsuite/27_io/basic_ofstream/open/wchar_t/noreplace.cc: |
| Likewise. |
| |
| 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. |
| * 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. |
| * 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. |
| |
| 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. |
| |
| 2023-01-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (operator>>(istream&, ZoneInfo&)): Allow |
| rules named "+" for compatibility with older tzdata.zi files. |
| |
| 2023-01-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| 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. |
| |
| 2023-01-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108530 |
| * src/c++20/tzdb.cc (current_zone): Look for TIMEZONE or ZONE in |
| /etc/sysconfig/clock, not DEFAULT_TIMEZONE. |
| |
| 2023-01-26 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/xml/manual/intro.xml: Update links to www.open-std.org to |
| use https. |
| * doc/html/manual/bugs.html: Regenerate. |
| |
| 2023-01-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108530 |
| * src/c++20/tzdb.cc (current_zone): Look for DEFAULT_TIMEZONE in |
| /etc/sysconfig/clock. |
| |
| 2023-01-24 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/102301 |
| * include/bits/ranges_base.h: Include <bits/stl_iterator.h> for |
| std::make_reverse_iterator. |
| * include/std/tuple: Include <bits/ranges_util.h> for subrange. |
| (make_from_tuple): Add static assertion from P2255 to diagnose |
| dangling references. |
| * testsuite/20_util/tuple/make_from_tuple/dangling_ref.cc: New test. |
| * testsuite/20_util/tuple/make_from_tuple/tuple_like.cc: New test. |
| |
| 2023-01-23 François Dumont <fdumont@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. |
| |
| 2023-01-18 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/fs_path.h (u8path): Add deprecated attribute. |
| * testsuite/27_io/filesystem/path/construct/90281.cc: Add |
| -Wno-deprecated-declarations for C++20 and later. |
| * testsuite/27_io/filesystem/path/factory/u8path-char8_t.cc: |
| Likewise. |
| * testsuite/27_io/filesystem/path/factory/u8path.cc: Likewise. |
| * testsuite/27_io/filesystem/path/native/string.cc: Likewise. |
| * testsuite/27_io/filesystem/path/factory/u8path-depr.cc: New test. |
| |
| 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. |
| |
| 2023-01-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (_GLIBCXX_USE_CXX11_ABI): Define to 1. |
| |
| 2023-01-16 Jonathan Wakely <jwakely@redhat.com> |
| |
| 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. |
| |
| 2023-01-15 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * 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. |
| |
| 2023-01-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/time/tzdb_list/1.cc: Remove dg-xfail-run-if |
| and fail gracefully if defining the weak symbol doesn't work. |
| |
| 2023-01-15 François Dumont <fdumont@gcc.gnu.org> |
| |
| 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. |
| |
| 2023-01-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/30_threads/jthread/jthread.cc: Remove -pthread from |
| dg-options. |
| |
| 2023-01-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * testsuite/std/time/clock/utc/io.cc: Use ctype to widen char. |
| |
| 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. |
| |
| 2023-01-14 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.in: Regenerate. |
| * include/bits/char_traits.h: Gate hosted-only, wchar-only and |
| mbstate-only bits behind appropriate #ifs. |
| * include/std/string_view: Gate <iostream> functionality behind |
| HOSTED. |
| * include/std/version: Enable __cpp_lib_constexpr_string_view |
| and __cpp_lib_starts_ends_with in !HOSTED. |
| * include/std/ranges: Re-enable __is_basic_string_view on |
| freestanding, include <string_view> directly. |
| * include/precompiled/stdc++.h: Include <string_view> when |
| !HOSTED too. |
| * testsuite/20_util/function_objects/searchers.cc: Skip testing |
| boyer_moore searchers on freestanding |
| * testsuite/21_strings/basic_string_view/capacity/1.cc: Guard |
| <string>-related tests behind __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/cons/char/1.cc: Ditto. |
| * testsuite/21_strings/basic_string_view/cons/char/2.cc: Remove |
| unused <stdexcept> include. |
| * testsuite/21_strings/basic_string_view/cons/char/3.cc: Remove |
| unused <vector> include. |
| * testsuite/21_strings/basic_string_view/cons/char/range.cc: |
| Guard <string> related testing behind __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/cons/wchar_t/1.cc: |
| Guard <stdexcept> related tests behind __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/element_access/char/1.cc: |
| Ditto. |
| * testsuite/21_strings/basic_string_view/element_access/wchar_t/1.cc: |
| Guard <stdexcept> tests behind __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/operations/contains/char/2.cc: |
| Enable test on freestanding, guard <stdexcept> bits behind |
| __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/operations/substr/char.cc: |
| Guard <stdexcept> bits behind __STDC_HOSTED__. |
| * testsuite/21_strings/basic_string_view/operations/substr/wchar_t.cc: |
| Ditto. |
| |
| 2023-01-13 Dimitrij Mijoski <dmjpp@hotmail.com> |
| |
| PR libstdc++/86419 |
| * src/c++11/codecvt.cc (read_utf8_code_point): Correctly detect |
| errors in incomplete multibyte sequences. |
| (utf16_in): Remove surrogates parameter. Fix conditions for |
| returning partial. |
| (utf16_out): Fix condition for returning partial. |
| (ucs2_in): Do not pass surrogates argument to utf16_in. |
| * testsuite/22_locale/codecvt/codecvt_unicode.cc: New test. |
| * testsuite/22_locale/codecvt/codecvt_unicode.h: New header for |
| tests. |
| * testsuite/22_locale/codecvt/codecvt_unicode_wchar_t.cc: New |
| test. |
| |
| 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. |
| |
| 2023-01-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/tzdb.cc (tzdb_list::_S_init_tzdb): Use __try and |
| __catch macros for exception handling. |
| |
| 2023-01-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108221 |
| * include/bits/stl_algobase.h (__lg): Replace six overloads with |
| a single function template for all integer types. |
| * include/bits/stl_algo.h (__merge_adaptive_resize): Cast |
| arithmetic results back to _Distance. |
| |
| 2023-01-10 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108221 |
| * include/std/span (span::span()): Un-simplify constraint to |
| work for size_t of lesser rank than int. |
| |
| 2023-01-07 LIU Hao <lh_mouse@126.com> |
| |
| PR middle-end/108300 |
| * src/c++11/system_error.cc: Define `WIN32_LEAN_AND_MEAN` before |
| <windows.h>. |
| * src/c++11/thread.cc: Likewise. |
| * src/c++17/fs_ops.cc: Likewise. |
| * src/filesystem/ops.cc: Likewise. |
| |
| 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. |
| |
| 2023-01-06 Jonathan Wakely <jwakely@redhat.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. |
| |
| 2023-01-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108211 |
| * src/c++20/tzdb.cc (chrono::current_zone()): Check for zone |
| using only last component of the name. |
| |
| 2023-01-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108228 |
| PR libstdc++/108235 |
| * config/abi/pre/gnu.ver: Move zoneinfo_dir_override export to |
| the latest symbol version. |
| * src/c++20/tzdb.cc (USE_ATOMIC_SHARED_PTR): Define to 0 if |
| atomic<_Node*> is not always lock free. |
| (USE_ATOMIC_LIST_HEAD): New macro. |
| [__hpux__] (__gnu_cxx::zoneinfo_dir_override()): Provide |
| definition of weak symbol. |
| (tzdb_list::_Node::_S_head): Rename to _S_head_cache. |
| (tzdb_list::_Node::_S_list_head): New function for accessing |
| list head efficiently. |
| (tzdb_list::_Node::_S_cache_list_head): New function for |
| updating _S_list_head. |
| |
| 2023-01-05 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108265 |
| * include/std/chrono (hh_mm_ss): Do not use chrono::abs if |
| duration rep is unsigned. |
| * testsuite/std/time/hh_mm_ss/1.cc: Check unsigned rep. |
| |
| 2023-01-04 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR libstdc++/108228 |
| * config/abi/pre/gnu.ver (GLIBCXX_3.4): |
| Add __gnu_cxx::zoneinfo_dir_override(). |
| |
| 2023-01-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR libstdc++/108258 |
| * include/std/array (__array_traits<T, 0>::operator T*()): Add |
| constexpr. |
| * testsuite/23_containers/array/element_access/constexpr_c++17.cc: Check |
| std::array<T, 0>::data(). |
| |
| |
| Copyright (C) 2023 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |