mirror of
https://gcc.gnu.org/git/gcc.git
synced 2026-02-21 19:35:28 -05:00
128 lines
5.0 KiB
Plaintext
128 lines
5.0 KiB
Plaintext
2026-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* src/c++20/atomic.cc (use_proxy_wait): Remove unused second
|
||
parameter.
|
||
(__wait_args::_M_setup_proxy_wait): Remove second argument.
|
||
(__notify_impl): Likewise.
|
||
|
||
2026-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/atomic_timed_wait.h (__atomic_wait_address_until):
|
||
Use _M_on_wake instead of _M_setup_wait after waking.
|
||
(__atomic_wait_address_for): Likewise.
|
||
* include/bits/atomic_wait.h (__atomic_wait_address): Likewise.
|
||
(__wait_args::_M_setup_wait): Remove third parameter and move
|
||
code to update _M_old to ...
|
||
(__wait_args::_M_on_wake): New member function to update _M_old
|
||
after waking, only calling _M_setup_proxy_wait if needed.
|
||
(__wait_args::_M_store): New member function to update _M_old
|
||
from a value, for non-proxy waits.
|
||
* src/c++20/atomic.cc (__wait_args::_M_setup_proxy_wait): If
|
||
_M_obj is not addr, only load a new value and return true.
|
||
|
||
2026-01-09 Jonathan Wakely <jwakely@redhat.com>
|
||
Tomasz Kamiński <tkaminsk@redhat.com>
|
||
|
||
PR libstdc++/122878
|
||
* include/bits/semaphore_base.h (_M_try_acquire): Replace
|
||
_M_try_acquire_for call with explicit loop and call to
|
||
__atomic_wait_address_for.
|
||
(_M_try_acquire_for): Replace loop with call to
|
||
_M_try_acquire_until.
|
||
|
||
2026-01-09 Keith Packard <keithp@keithp.com>
|
||
|
||
* acinclude.m4 (GLIBCXX_CONFIGURE): Add --with-picolibc.
|
||
* configure: Regenerate.
|
||
* configure.ac: Add handling for with_picolibc=yes.
|
||
* config/os/picolibc/ctype_base.h: New file.
|
||
* config/os/picolibc/ctype_configure_char.cc: New file.
|
||
* config/os/picolibc/ctype_inline.h: New file.
|
||
* config/os/picolibc/os_defines.h: New file.
|
||
|
||
2026-01-08 Tomasz Kamiński <tkaminsk@redhat.com>
|
||
|
||
* testsuite/20_util/variant/constinit.cc: Use scan-tree-dump
|
||
for matching of constructor.
|
||
* testsuite/20_util/variant/constinit_compat.cc: Likewise.
|
||
* testsuite/lib/libstdc++.exp: Load scantree.exp and scandump.exp.
|
||
|
||
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-01-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
* include/bits/atomic_wait.h (__wait_args::_M_setup_wait):
|
||
Remove unreachable return statement.
|
||
|
||
2026-01-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/123406
|
||
* acinclude.m4 (GLIBCXX_CHECK_STDIO_LOCKING): Override detection
|
||
of flockfile for non-cygwin newlib targets.
|
||
* configure: Regenerate.
|
||
|
||
2026-01-07 Jonathan Wakely <jwakely@redhat.com>
|
||
|
||
PR libstdc++/123378
|
||
* include/std/barrier (~__tree_barrier_base): Define.
|
||
|
||
2026-01-07 Jakub Jelinek <jakub@redhat.com>
|
||
|
||
PR libstdc++/123183
|
||
PR libstdc++/123326
|
||
* libsupc++/exception (std::bad_exception::~bad_exception(),
|
||
std::bad_exception::what()): Add inline keyword and
|
||
[[__gnu__::__gnu_inline__]] attribute to the C++26 constexpr
|
||
exceptions definitions.
|
||
* libsupc++/exception.h (std::exception::~exception(),
|
||
std::exception::what()): Likewise.
|
||
* libsupc++/exception_ptr.h (std::exception_ptr::exception_ptr(void*)):
|
||
Likewise.
|
||
* libsupc++/nested_exception.h
|
||
(std::nested_exception::~nested_exception()): Likewise.
|
||
* libsupc++/typeinfo (std::bad_cast::~bad_cast(),
|
||
std::bad_cast::what(), std::bad_typeid::~bad_typeid(),
|
||
std::bad_typeid::what()): Likewise.
|
||
* include/bits/new_except.h (std::bad_alloc::~bad_alloc(),
|
||
std::bad_alloc::what(),
|
||
std::bad_array_new_length::~bad_array_new_length(),
|
||
std::bad_array_new_length::what()): Likewise.
|
||
* include/bits/stdexcept_except.h
|
||
(std::logic_error::logic_error(const string&),
|
||
std::logic_error::logic_error(const char*),
|
||
std::logic_error::~logic_error(), std::logic_error::what(),
|
||
std::domain_error::domain_error(const string&),
|
||
std::domain_error::domain_error(const char*),
|
||
std::invalid_argument::invalid_argument(const string&),
|
||
std::invalid_argument::invalid_argument(const char*),
|
||
std::length_error::length_error(const string&),
|
||
std::length_error::length_error(const char*),
|
||
std::out_of_range::out_of_range(const string&),
|
||
std::out_of_range::out_of_range(const char*),
|
||
std::runtime_error::runtime_error(const string&),
|
||
std::runtime_error::runtime_error(const char*),
|
||
std::runtime_error::~runtime_error(), std::runtime_error::what(),
|
||
std::overflow_error::overflow_error(const string&),
|
||
std::overflow_error::overflow_error(const char*),
|
||
std::overflow_error::~overflow_error(),
|
||
std::underflow_error::underflow_error(const string&),
|
||
std::underflow_error::underflow_error(const char*),
|
||
std::underflow_error::~underflow_error()): Likewise.
|
||
(std::domain_error::~domain_error(),
|
||
std::invalid_argument::~invalid_argument(),
|
||
std::length_error::~length_error(),
|
||
std::out_of_range::~out_of_range()): Likewise. Also change
|
||
_GLIBCXX_NOTHROW to noexcept on those definitions.
|
||
|
||
|
||
Copyright (C) 2026 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.
|