summaryrefslogtreecommitdiff
path: root/gcc/function.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>2000-02-04 13:30:22 -0800
committerRichard Henderson <rth@gcc.gnu.org>2000-02-04 13:30:22 -0800
commitc13fde0599c2f8dbbbdc625dba0bf7b610a2d597 (patch)
tree8cc10637d86506360d6941e5b27c2b2ee19fca50 /gcc/function.h
parentfacc279fc19a31c23323ce3eeac869eb14d07bda (diff)
downloadgcc-c13fde0599c2f8dbbbdc625dba0bf7b610a2d597.tar.gz
function.c (diddle_return_value): Rework to use a callback function.
* function.c (diddle_return_value): Rework to use a callback function. Use current_function_return_rtx if it's been set up. (do_clobber_return_reg, clobber_return_register): New. (do_use_return_reg, use_return_register): New. (expand_function_end): Use them. * stmt.c (expand_null_return): Likewise. * function.h: Declare them. * flow.c (mark_regs_live_at_end): Use diddle_return_value. (mark_reg): Change arguments as appropriate for callback. * integrate.c (expand_inline_function): Revert 19 Jan change. From-SVN: r31791
Diffstat (limited to 'gcc/function.h')
-rw-r--r--gcc/function.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.h b/gcc/function.h
index 35d26bdf0d0..1a94f948c69 100644
--- a/gcc/function.h
+++ b/gcc/function.h
@@ -585,7 +585,9 @@ extern void free_expr_status PARAMS ((struct function *));
extern rtx get_first_block_beg PARAMS ((void));
#ifdef RTX_CODE
-extern void diddle_return_value PARAMS ((enum rtx_code));
+extern void diddle_return_value PARAMS ((void (*)(rtx, void*), void*));
+extern void clobber_return_register PARAMS ((void));
+extern void use_return_register PARAMS ((void));
#endif
extern void init_virtual_regs PARAMS ((struct emit_status *));