| 2026-02-02 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/regex_executor.tcc (_ExecutorFrameBase): |
| Zero-initialize _M_byte0. |
| (_ExecutorFrameBase::_M_end): Rename to ... |
| (_ExecutorFrameBase::_M_subexpr_end): ... this. |
| (_Executor::_M_handle_subexpr_begin): Remove now redundant |
| clearing of _M_subexpr_end. |
| (_Executor::_M_handle_subexpr_end): Adjust after renaming. |
| (_Executor::_M_dfs) <case _S_fopcode_restore_cur_results>: |
| Likewise. |
| |
| 2026-01-31 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/regex_executor.tcc (_ExecutorFrameBase): Add |
| #pragma GCC diagnostic to suppress -Wpedantic warning about |
| anonymous structs. |
| |
| 2026-01-30 Patrick Palka <ppalka@redhat.com> |
| |
| * include/bits/regex_executor.tcc (__detail::_Executor::_M_node) |
| [__OPTIMIZE__]: Add [[gnu::always_inline]] attribute. Declare |
| inline. |
| |
| 2026-01-30 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/86164 |
| * include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode): |
| Remove _S_fopcode_restore_current. |
| (__detail::_Executor::_M_handle_repeat): Pass _M_current when |
| pushing a fallback_next or fallback_rep_once_more frame. |
| (__detail::_Executor::_M_handle_match): Don't push a |
| restore_current frame. |
| (__detail::_Executor::_M_handle_backref): Likewise and simplify |
| accordingly. |
| (__detail::_Executor::_M_handle_alternative): Pass _M_current when |
| pushing a fallback_next or posix_alternative frame. |
| (__detail::_Executor::_M_dfs) <case _S_fopcode_fallback_next>: |
| Restore _M_current. |
| <case _S_fopcode_fallback_rep_once_more>: Likewise. |
| <case _S_fopcode_posix_alternative>: Likewise. |
| <case _S_fopcode_restore_current>: Remove. |
| |
| 2026-01-30 Patrick Palka <ppalka@redhat.com> |
| |
| PR libstdc++/86164 |
| * include/bits/regex.h (__detail::_Executor): Use inline |
| namespace _V2. |
| * include/bits/regex_executor.h (__detail::_ExecutorFrame): |
| Declare. |
| (__detail::_Executor): Use inline namespace _V2. |
| (__detail::_Executor::_M_node): Declare. |
| (__detail::_Executor::_M_frames): New data member. |
| * include/bits/regex_executor.tcc (__detail::_ExecutorFrameOpcode): |
| New. |
| (__detail::_ExecutorFrameBase): New. |
| (__detail::_ExecutorFrame): New. |
| (__detail::_Executor): Use inline namespace _V2. |
| (__detail::_Executor::_M_rep_once_more): Replace recursive |
| _M_dfs calls with an _S_opcode_next frame push, and any work |
| after such calls with an appropriate frame push. |
| (__detail::_M_handle_repeat): Likewise. |
| (__detail::_M_handle_subexpr_begin): Likewise. |
| (__detail::_M_handle_subexpr_end): Likewise. |
| (__detail::_M_handle_line_begin_assertion): Likewise. |
| (__detail::_M_handle_line_end_assertion): Likewise. |
| (__detail::_M_handle_word_boundary): Likewise. |
| (__detail::_M_handle_subexpr_lookahead): Likewise. |
| (__detail::_M_handle_match): Likewise. |
| (__detail::_M_handle_backref): Likewise. |
| (__detail::_M_handle_accept): Likewise. |
| (__detail::_M_handle_alternative): Likewise. |
| (__detail::_M_node): Factored out from _M_dfs. |
| (__detail::_M_dfs): Push an initial frame to _M_frames that |
| visits the starting node and pass this stack each subroutine. |
| Pop the latest _ExecutorFrame from _M_frames and handle |
| appropriately according to its _ExecutorFrameOpcode. Loop until |
| _M_frames is empty. |
| |
| 2026-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/expected (__expected::__trivially_replaceable) |
| (__expected::__usable_for_assign) |
| (__expected::__usable_for_trivial_assign) |
| (__expected::__can_reassign_type): New concepts. |
| (expected::operator=): Adjust constraints |
| on existing overloads and add defaulted overload. |
| (expected<cv void, E>::operator=): Likewise. |
| * testsuite/20_util/expected/requirements.cc: Check for trivial |
| and nothrow properties of assignments. |
| |
| 2026-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/source_location: Check __glibcxx_contracts instead |
| of __cpp_lib_contracts. |
| * testsuite/18_support/contracts/includes.cc: New test. |
| |
| 2026-01-29 vspefs <vspefs@protonmail.com> |
| |
| * src/c++23/std.cc.in (invoke_default_violation_handler): Change |
| to invoke_default_contract_violation_handler. |
| |
| 2026-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/std/contracts: Replace non-ASCII characters. |
| |
| 2026-01-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/experimental/Makefile.am: Change AM_CXXFLAGS to use C++20 |
| by default. |
| |
| 2026-01-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/experimental/contract26.cc: Use #error if built without |
| contracts support enabled. |
| * include/std/source_location: Remove stray whitespace. |
| |
| 2026-01-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR tree-optimization/122197 |
| * include/bits/shared_ptr_base.h (~_Sp_counted_deleter): Use |
| diagnostic pragam to disable -Wfree-nonheap-object false |
| positive. |
| (~_Sp_counted_ptr_inplace): Likewise for -Warray-bounds false |
| positive. |
| |
| 2026-01-28 Jonathan Wakely <jwakely@redhat.com> |
| |
| * config/locale/gnu/ctype_members.cc (use_table): New function. |
| (ctype<wchar_t>::do_narrow): Use use_table. |
| |
| 2026-01-28 Soumya AR <soumyaa@nvidia.com> |
| |
| * include/bits/atomic_base.h: |
| Add fetch_min and fetch_max memberfunctions. |
| * include/bits/version.def: |
| Add __cpp_lib_atomic_min_max feature test macro. |
| * include/bits/version.h (defined): Regenerate. |
| * include/std/atomic: Extend for fetch_min/max non-member functions. |
| * src/c++23/std.cc.in: Export atomic_fetch_min, atomic_fetch_max, |
| atomic_fetch_min_explicit, atomic_fetch_max_explicit. |
| * testsuite/29_atomics/atomic_integral/nonmembers_fetch_minmax.cc: |
| New test. |
| * testsuite/29_atomics/atomic_ref/integral_fetch_minmax.cc: New test. |
| |
| 2026-01-28 Nina Ranns <dinka.ranns@gmail.com> |
| Iain Sandoe <iain@sandoe.co.uk> |
| Ville Voutilainen <ville.voutilainen@gmail.com> |
| |
| * include/Makefile.am: Add contract include. |
| * include/Makefile.in: Regenerate. |
| * include/bits/version.def: Add ftm for contracts. |
| * include/bits/version.h: Regenerate. |
| * include/precompiled/stdc++.h: Add contracts header. |
| * include/std/source_location: Befriend the contract_violation |
| class so that we can initialise a source_location from an |
| existing __impl *. |
| * src/c++23/std.cc.in: Add contracts support. |
| * src/experimental/Makefile.am: Add new contract violation |
| implementation, remove the old one. |
| * src/experimental/Makefile.in: Regenerate. |
| * include/experimental/contract: Removed. |
| * src/experimental/contract.cc: Removed. |
| * include/std/contracts: New file. |
| * src/experimental/contract26.cc: New file. |
| * testsuite/18_support/contracts/invoke_default_cvh.cc: New test. |
| * testsuite/18_support/contracts/invoke_default_cvh2.cc: New test. |
| |
| 2026-01-23 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/123758 |
| * include/bits/funcwrap.h (_Cpy_base(_Cpy_base const&)): |
| Explicitly call _Mo_base() in initializer list. |
| |
| 2026-01-22 Frank Scheiner <frank.scheiner@web.de> |
| |
| * config/abi/post/ia64-linux-gnu/baseline_symbols.txt: |
| Regenerate. |
| |
| 2026-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * include/bits/version.def (reflection): Add cxx11abi = yes;. |
| * include/bits/version.h: Regenerate. |
| |
| 2026-01-19 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| PR libstdc++/114153 |
| * include/bits/ranges_cmp.h (__detail::__less_builtin_ptr_cmp): |
| Add __not_overloaded_spaceship spaceship check. |
| * include/bits/stl_function.h (greater<void>::operator()) |
| (less<void>::operator(), greater_equal<void>::operator()) |
| (less_equal<void>::operator()): Implement using if constexpr. |
| (greater<void>::__S_cmp, less<void>::__S_cmp) |
| (greater_equal<void>::__ptr_comp, less_equal<void>::S_cmp): |
| Remove. |
| (greater<void>::__ptr_cmp, less<void>::__ptr_cmp) |
| (greater_equal<void>::__ptr_comp, less_equal<void>::ptr_cmp): Change |
| tostatic constexpr variable. Define in terms of requires expressions |
| and __not_overloaded_spaceship check. |
| * include/std/concepts: (__detail::__not_overloaded_spaceship): |
| Define. |
| * libsupc++/compare: (__detail::__3way_builtin_ptr_cmp): Use |
| __not_overloaded_spaceship concept. |
| * testsuite/20_util/function_objects/comparisons_pointer_spaceship.cc: New test. |
| |
| 2026-01-19 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * include/bits/erase_if.h (__detail::__erase_if): Pass mutable |
| iterators to __cont.erase. |
| |
| 2026-01-19 François Dumont <frs.dumont@gmail.com> |
| |
| * include/bits/erase_if.h (__detail::__erase_if): New. |
| * include/debug/deque (std::erase_if<>(__debug::deque<>&, _Pred)): Use latter. |
| * include/debug/inplace_vector (std::erase_if<>(__debug::inplace_vector<>&, _Pred)): |
| Likewise. |
| * include/debug/vector (std::erase_if<>(__debug::vector<>&, _Pred)): Likewise. |
| * include/std/deque: Include erase_if.h. |
| (std::erase_if<>(std::vector<>&, _Pred)): Adapt to use __detail::__erase_if. |
| * include/std/inplace_vector (std::erase_if<>(std::inplace_vector<>&, _Pred)): |
| Likewise. |
| * include/std/string (std::erase_if<>(std::basic_string<>&, _Pred)): Likewise. |
| * include/std/vector (std::erase_if<>(std::vector<>&, _Pred)): Likewise. |
| * include/debug/forward_list |
| (std::erase_if<>(__debug::forward_list<>&, _Pred)): New. |
| (std::erase<>(__debug::forward_list<>&, const _Up&)): New. |
| * include/debug/list |
| (std::erase_if<>(__debug::list<>&, _Pred)): New. |
| (std::erase<>(__debug::list<>&, const _Up&)): New. |
| * include/debug/map (std::erase_if<>(__debug::map<>&, _Pred)): New. |
| (std::erase_if<>(__debug::multimap<>&, _Pred)): New. |
| * include/debug/set (std::erase_if<>(__debug::set<>&, _Pred)): New. |
| (std::erase_if<>(__debug::multiset<>&, _Pred)): New. |
| * include/debug/string |
| (std::erase_if<>(__gnu_debug::basic_string<>&, _Pred)): New. |
| (std::erase<>(__gnu_debug::basic_string<>&, const _Up&)): New. |
| * include/debug/unordered_map |
| (std::erase_if<>(__debug::unordered_map<>&, _Pred)): New. |
| (std::erase_if<>(__debug::unordered_multimap<>&, _Pred)): New. |
| * include/debug/unordered_set |
| (std::erase_if<>(__debug::unordered_set<>&, _Pred)): New. |
| (std::erase_if<>(__debug::unordered_multiset<>&, _Pred)): New. |
| * include/std/forward_list (std::erase_if<>(std::forward_list<>&, _Pred)): |
| Adapt to work exclusively for normal implementation. |
| (std::erase<>(std::forward_list<>&, const _Up&)): Likewise. |
| * include/std/list (std::erase_if<>(std::list<>&, _Pred)): Likewise. |
| (std::erase<>(std::list<>&, const _Up&)): Likewise. |
| * include/std/map (std::erase_if<>(std::map<>&, _Pred)): Likewise. |
| (std::erase_if<>(std::multimap<>&, _Pred)): Likewise. |
| Guard functions using __cpp_lib_erase_if. |
| * include/std/set (std::erase_if<>(std::set<>&, _Pred)): Likewise. |
| (std::erase_if<>(std::multiset<>&, _Pred)): Likewise. |
| Guard functions using __cpp_lib_erase_if. |
| * include/std/unordered_map |
| (std::erase_if<>(std::unordered_map<>&, _Pred)): Likewise. |
| (std::erase_if<>(std::unordered_multimap<>&, _Pred)): Likewise. |
| Guard functions using __cpp_lib_erase_if. |
| * include/std/unordered_set |
| (std::erase_if<>(std::unordered_set<>&, _Pred)): Likewise. |
| (std::erase_if<>(std::unordered_multiset<>&, _Pred)): Likewise. |
| Guard functions using __cpp_lib_erase_if. |
| * testsuite/21_strings/basic_string/debug/erase.cc: New test case. |
| * testsuite/23_containers/forward_list/debug/erase.cc: New test case. |
| * testsuite/23_containers/forward_list/debug/invalidation/erase.cc: New test case. |
| * testsuite/23_containers/list/debug/erase.cc: New test case. |
| * testsuite/23_containers/list/debug/invalidation/erase.cc: New test case. |
| * testsuite/23_containers/map/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/map/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/multimap/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/multimap/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/multiset/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/multiset/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/set/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/set/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_map/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_map/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_multimap/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_multimap/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_multiset/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_multiset/debug/invalidation/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_set/debug/erase_if.cc: New test case. |
| * testsuite/23_containers/unordered_set/debug/invalidation/erase_if.cc: New test case. |
| |
| 2026-01-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * include/std/type_traits (std::is_reflection, std::is_fundamental, |
| std::is_reflection_v, std::is_consteval_only): Compare |
| __cpp_impl_reflection >= 202506L instead of 202500L. |
| * testsuite/20_util/variable_templates_for_traits.cc: Likewise. |
| |
| 2026-01-15 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/120775 |
| PR c++/123081 |
| PR c++/122634 |
| * include/Makefile.am (std_headers): Add ${std_srcdir}/meta. |
| * include/Makefile.in: Regenerate. |
| * include/bits/iterator_concepts.h (std::ranges::__access::__begin): Add |
| constexpr. |
| * include/bits/version.def (reflection): New. |
| * include/bits/version.h: Regenerate. |
| * include/precompiled/stdc++.h: Include <meta> for C++26. |
| * include/std/meta: New file. |
| * include/std/type_traits (std::is_reflection): New trait. |
| (std::is_fundamental): Include is_reflection for C++26 -freflection. |
| (std::is_reflection_v): New variable template. |
| (std::is_consteval_only): New trait. |
| (std::is_consteval_only_v): New variable template. |
| * src/c++23/std.cc.in: Add <meta> exports. |
| * testsuite/20_util/variable_templates_for_traits.cc: Add -freflection as |
| dg-additional-options for C++26. Add std::is_reflection_v test in that case. |
| * testsuite/20_util/is_consteval_only/requirements/explicit_instantiation.cc: New test. |
| * testsuite/20_util/is_consteval_only/requirements/typedefs.cc: New test. |
| * testsuite/20_util/is_consteval_only/value.cc: New test. |
| * testsuite/20_util/is_reflection/requirements/explicit_instantiation.cc: New test. |
| * testsuite/20_util/is_reflection/requirements/typedefs.cc: New test. |
| * testsuite/20_util/is_reflection/value.cc: New test. |
| |
| 2026-01-14 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * testsuite/util/testsuite_iterators.h: Modify comment. |
| |
| 2026-01-13 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * include/bits/stl_heap.h (std::__is_heap_until, std::__push_heap) |
| (std::__adjust_heap): Replace subscript with dereference of |
| advanced iterator. |
| * testsuite/util/testsuite_iterators.h (__gnu_test::subscript_proxy) |
| (__gnu_test::proxy_random_access_iterator_wrapper): Define. |
| * testsuite/25_algorithms/sort_heap/check_proxy_brackets.cc: New test. |
| |
| 2026-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/abi/pre/gnu.ver (CXXABI_1.3.14): Don't export _ZTI*DF16_ on |
| s390x. |
| (CXXABI_1.3.17): Export _ZTI*DF16_ on s390x. |
| * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Remove |
| _ZTI{,P,K}DF16_. |
| |
| 2026-01-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * src/c++20/atomic.cc (__detail::__spin_impl): Do not use |
| reserved names for variables. |
| |
| 2026-01-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * include/bits/atomic_wait.h (__wait_args): Improve comments. |
| * src/c++20/atomic.cc (__wait_args::_M_setup_proxy_wait): |
| Improve comment. |
| |
| 2026-01-12 Tomasz Kamiński <tkaminsk@redhat.com> |
| |
| * testsuite/26_numerics/random/uniform_real_distribution/operators/gencanon.cc: |
| Updated test. |
| |
| 2026-01-10 Stefan Schulze Frielinghaus <stefansf@gcc.gnu.org> |
| |
| * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Add |
| names {,P,K}DF16. |
| |
| 2026-01-10 Wang Jinghao <zheng.xianyuwang@gmail.com> |
| |
| * src/c++11/system_error.cc (system_error_category) [_WIN32]: |
| Use FormatMessageA function instead of FormatMessage macro. |
| * testsuite/19_diagnostics/error_category/system_category.cc: |
| Fix typo in __MINGW32__ macro name. Adjust behavior on the |
| mingw32 target. |
| |
| 2026-01-10 Yuao Ma <c8ef@outlook.com> |
| |
| * include/bits/version.def: Add FTM. |
| * include/bits/version.h: Regenerate. |
| * include/std/flat_map: Add constexpr. |
| * testsuite/23_containers/flat_map/1.cc: Add constexpr test. |
| * testsuite/23_containers/flat_multimap/1.cc: Add constexpr test. |
| |
| 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. |