aboutsummaryrefslogtreecommitdiff
path: root/contrib/gcc-changelog/git_commit.py
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2020-06-30 07:26:51 +0100
committerIain Sandoe <iain@sandoe.co.uk>2020-06-30 08:22:05 +0100
commit9252a208f485eed2757d601657facfa0aee6cd21 (patch)
tree88960f669da6a9ea2fe21c4af5a0bb380a155c09 /contrib/gcc-changelog/git_commit.py
parent3b7272a2f7333905a4cd2caedff27c1fbec95f09 (diff)
downloadgcc-9252a208f485eed2757d601657facfa0aee6cd21.zip
gcc-9252a208f485eed2757d601657facfa0aee6cd21.tar.gz
gcc-9252a208f485eed2757d601657facfa0aee6cd21.tar.bz2
coroutines: Collect the function body rewrite code.
The standard describes a rewrite of the body of the user-authored function (which wraps it in a try-catch block and provides the initial and final suspend expressions). The exact arrangement of this was still in flux right up until the DIS and as a consequence was a bit of a moving target. The net result was a fragmented implementation of the parts of the rewrite which is now impeding progress in fixing other issues. This patch collates the rewrite action into a single function and carries this out earlier. gcc/cp/ChangeLog: * coroutines.cc (expand_one_await_expression): Remove code dealing with initial suspend. (build_actor_fn): Remove code special-casing initial and final suspend. Handle the final suspend and marking of the coroutine as done. (coro_rewrite_function_body): New. (bind_expr_find_in_subtree): Remove. (coro_body_contains_bind_expr_p): Remove. (morph_fn_to_coro): Split the rewrite of the original function into coro_rewrite_function_body and call it.
Diffstat (limited to 'contrib/gcc-changelog/git_commit.py')
0 files changed, 0 insertions, 0 deletions