aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/resolve.c
diff options
context:
space:
mode:
authorIain Sandoe <iain@sandoe.co.uk>2021-07-10 10:50:23 +0100
committerIain Sandoe <iain@sandoe.co.uk>2021-09-14 16:56:10 +0100
commit70ee703c479081ac2ea67eb67041551216e66783 (patch)
tree0514a9c1ec9c59b44d031d27199b213e4287153a /gcc/fortran/resolve.c
parentc5a735fa9df7eca4666c8da5e51ed9c5ab7cc81a (diff)
downloadgcc-70ee703c479081ac2ea67eb67041551216e66783.zip
gcc-70ee703c479081ac2ea67eb67041551216e66783.tar.gz
gcc-70ee703c479081ac2ea67eb67041551216e66783.tar.bz2
coroutines: Make proxy vars for the function arg copies.
This adds top level proxy variables for the coroutine frame copies of the original function args. These are then available in the debugger to refer to the frame copies. We rewrite the function body to use the copies, since the original parms will no longer be in scope when the coroutine is running. Signed-off-by: Iain Sandoe <iain@sandoe.co.uk> gcc/cp/ChangeLog: * coroutines.cc (struct param_info): Add copy_var. (build_actor_fn): Use simplified param references. (register_param_uses): Likewise. (rewrite_param_uses): Likewise. (analyze_fn_parms): New function. (coro_rewrite_function_body): Add proxies for the fn parameters to the outer bind scope of the rewritten code. (morph_fn_to_coro): Use simplified version of param ref.
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions