https://gcc.gnu.org/g:59ec83c70eed933d39e09f9b991194ae3c496237
commit r14-11741-g59ec83c70eed933d39e09f9b991194ae3c496237 Author: GCC Administrator <gccadmin@gcc.gnu.org> Date: Tue May 6 00:23:07 2025 +0000 Daily bump. Diff: --- gcc/ChangeLog | 17 ++++++ gcc/DATESTAMP | 2 +- gcc/cp/ChangeLog | 153 ++++++++++++++++++++++++++++++++++++++++++++++++ gcc/testsuite/ChangeLog | 122 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 293 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index aea0f3fafb8d..517f7827f436 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,20 @@ +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-04 Arsen Arsenović <ar...@aarsen.me> + + PR c++/106973 + * internal-fn.def (CO_YIELD): Mark as ECF_LEAF. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-08-29 Arsen Arsenović <ar...@aarsen.me> + + PR c++/105104 + * coroutine-passes.cc (execute_early_expand_coro_ifns): Don't + remove any labels. + 2025-05-01 Iain Sandoe <i...@sandoe.co.uk> Backported from master: diff --git a/gcc/DATESTAMP b/gcc/DATESTAMP index 568be1e3bc4f..6906e738dbc5 100644 --- a/gcc/DATESTAMP +++ b/gcc/DATESTAMP @@ -1 +1 @@ -20250505 +20250506 diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 95b08917fc99..03e8ebc6a94e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,156 @@ +2025-05-05 Iain Sandoe <iains....@gmail.com> + + Backported from master: + 2025-02-03 Iain Sandoe <iains....@gmail.com> + Jason Merrill <ja...@redhat.com> + + PR c++/116506 + PR c++/116880 + * coroutines.cc (build_co_await): Ensure that xvalues are + materialised. Handle references/pointer values in awaiter + access expressions. + (is_stable_lvalue): New. + * decl.cc (cxx_maybe_build_cleanup): Handle null arg. + +2025-05-05 Jason Merrill <ja...@redhat.com> + + Backported from master: + 2025-01-08 Jason Merrill <ja...@redhat.com> + + * coroutines.cc (cp_coroutine_transform::build_ramp_function): Build + INIT_EXPR directly. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-12-15 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/98935 + * coroutines.cc (register_local_var_uses): Add a pset to the + tree walk to avoid visiting the same BIND_EXPR twice. Make + an early exit for cases that the callback does not apply. + (cp_coroutine_transform::apply_transforms): Add a pset to the + tree walk for register_local_vars. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + PR c++/116793 + * coroutines.cc (await_statement_expander): Just process + subtrees if encountering a CLEANUP_POINT_EXPR. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + * coroutines.cc (co_await_get_resume_call): Return a tree + directly, rather than a tree pointer. + * cp-tree.h (co_await_get_resume_call): Adjust signature + accordingly. + * cvt.cc (convert_to_void): Do not alter CO_AWAIT_EXPRs when + discarding them. Simplify handling implicit INDIRECT_REFs. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + PR c++/116502 + * coroutines.cc (maybe_promote_temps): Convert temporary + initializers to void without complaining. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-09-05 Iain Sandoe <i...@sandoe.co.uk> + + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Separate the + build of promise constructor and destructor. When evaluating + the constructor, check that build_special_member_call returns + an expression with side effects before adding it. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-09-15 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/115905 + * coroutines.cc (struct coro_aw_data): Add a member for the + restart dispatch label. + (expand_one_await_expression): Rework to modernise and to + handle the boolean await_suspend() case. + (build_actor_fn): Rework the dispatcher and allow for a jump + back to the dispatcher. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-27 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/116482 + * coroutines.cc + (coro_build_actor_or_destroy_function): Make the parameter + decls DECL_ARTIFICIAL. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-08-26 Arsen Arsenović <ar...@aarsen.me> + + PR c++/113457 + * coroutines.cc (struct coroutine_info): Add integer field + awaitable_number. This is a counter used for assigning unique + names to awaitable temporaries. + (get_awaitable_var): Use awaitable_number from coroutine_info + instead of the static int awn. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/110635 + * coroutines.cc + (cp_coroutine_transform::wrap_original_function_body): Look through + initial await target expressions to find the actual co_await_expr + that we need to update. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/102051 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Handle + "throwing_cleanup" here instead of ... + (cp_coroutine_transform::apply_transforms): ... here. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/109682 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Allow for cases where + get_return_on_allocation_fail has a type convertible to the ramp + return type. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/100476 + * coroutines.cc + (cp_coroutine_transform::build_ramp_function): Remove special + handling of void get_return_object expressions. + 2025-05-01 Iain Sandoe <i...@sandoe.co.uk> Backported from master: diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 122689680cd4..eee7318afc68 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,125 @@ +2025-05-05 Iain Sandoe <iains....@gmail.com> + + Backported from master: + 2025-02-03 Iain Sandoe <iains....@gmail.com> + Jason Merrill <ja...@redhat.com> + + PR c++/116506 + PR c++/116880 + * g++.dg/coroutines/pr116506.C: New test. + * g++.dg/coroutines/pr116880.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-12-15 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/98935 + * g++.dg/coroutines/pr98935.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + PR c++/116793 + * g++.dg/coroutines/pr116793-1.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + * g++.dg/coroutines/nodiscard-1.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-27 Arsen Arsenović <ar...@aarsen.me> + + PR c++/116502 + * g++.dg/coroutines/maybe-unused-1.C: New test. + * g++.dg/coroutines/pr116502.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-09-15 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/115905 + * g++.dg/coroutines/torture/pr115905.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-09-04 Arsen Arsenović <ar...@aarsen.me> + + PR c++/106973 + * g++.dg/coroutines/pr106973.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-08-29 Arsen Arsenović <ar...@aarsen.me> + + PR c++/105104 + * g++.dg/coroutines/torture/pr105104.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-27 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/116482 + * g++.dg/coroutines/pr116482.C: New test. + +2025-05-05 Arsen Arsenović <ar...@aarsen.me> + + Backported from master: + 2024-08-26 Arsen Arsenović <ar...@aarsen.me> + + PR c++/113457 + * g++.dg/coroutines/pr113457-1.C: New test. + * g++.dg/coroutines/pr113457.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/110635 + * g++.dg/coroutines/pr110635.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/102051 + * g++.dg/coroutines/pr102051.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/109682 + * g++.dg/coroutines/pr109682.C: New test. + +2025-05-05 Iain Sandoe <i...@sandoe.co.uk> + + Backported from master: + 2024-08-24 Iain Sandoe <i...@sandoe.co.uk> + + PR c++/100476 + * g++.dg/coroutines/coro-bad-gro-01-void-gro-non-class-coro.C: + Adjust expected diagnostic. + * g++.dg/coroutines/pr102489.C: Avoid void get_return_object. + * g++.dg/coroutines/pr103868.C: Likewise. + * g++.dg/coroutines/pr94879-folly-1.C: Likewise. + * g++.dg/coroutines/pr94883-folly-2.C: Likewise. + * g++.dg/coroutines/pr96749-2.C: Likewise. + 2025-05-01 Iain Sandoe <i...@sandoe.co.uk> Backported from master: