aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/alpha/alpha-protos.h
diff options
context:
space:
mode:
authorOlivier Hainque <hainque@adacore.com>2009-08-10 04:38:02 +0000
committerDouglas Rupp <rupp@gcc.gnu.org>2009-08-10 04:38:02 +0000
commit221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6 (patch)
treef94897c69f91dfc8c84467b5f742fe05f551e72f /gcc/config/alpha/alpha-protos.h
parentb714133e38d25ba3a6df1eb668ead8e0da7f8f62 (diff)
downloadgcc-221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6.zip
gcc-221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6.tar.gz
gcc-221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6.tar.bz2
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
* config/alpha/alpha.c (struct machine_function): New flag for VMS, uses_condition_handler. (alpha_expand_builtin_establish_vms_condition_handler): New expander. (alpha_expand_builtin_revert_vms_condition_handler): New expander. (enum alpha_builtin): New ALPHA_BUILTIN_REVERT_VMS_CONDITION_HANDLER and ALPHA_BUILTIN_ESTABLISH_VMS_CONDITION_HANDLER values. (code_for_builtin): New insn codes for the new alpha_builtins. (alpha_init_builtins): Register the new functions as BUILT_IN_MD. (alpha_sa_size): Account for uses_condition_handler. (alpha_expand_prologue): Likewise. (alpha_start_function): Likewise. (alpha_expand_epilogue): Likewise. * config/alpha/alpha-protos.h: Prototype the new alpha.c builtin establish/revert expanders. * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Define. * config/alpha/alpha.md (builtin_establish_vms_condition_handler): New expander, resorting to the alpha.c associated function. (builtin_revert_vms_condition_handler): Likewise. * config/alpha/vms-gcc_shell_handler.c: New file. Implements __gcc_shell_handler, the static VMS condition handler used as an indirection wrapper to the current dynamically established handler. * config/alpha/vms-unwind.h: Complete rewrite. * config/alpha/t-vms (LIB2FUNCS_EXTRA): Add vms-gcc_shell_handler.c * config/alpha/vms.h (MD_UNWIND_SUPPORT): Co-Authored-By: Douglas B Rupp <rupp@gnat.com> From-SVN: r150612
Diffstat (limited to 'gcc/config/alpha/alpha-protos.h')
-rw-r--r--gcc/config/alpha/alpha-protos.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/config/alpha/alpha-protos.h b/gcc/config/alpha/alpha-protos.h
index 80c1e4f..244ff71 100644
--- a/gcc/config/alpha/alpha-protos.h
+++ b/gcc/config/alpha/alpha-protos.h
@@ -67,6 +67,9 @@ extern rtx alpha_expand_zap_mask (HOST_WIDE_INT);
extern void alpha_expand_builtin_vector_binop (rtx (*)(rtx, rtx, rtx),
enum machine_mode,
rtx, rtx, rtx);
+extern void alpha_expand_builtin_establish_vms_condition_handler (rtx, rtx);
+extern void alpha_expand_builtin_revert_vms_condition_handler (rtx);
+
extern rtx alpha_return_addr (int, rtx);
extern rtx alpha_gp_save_rtx (void);
extern void print_operand (FILE *, rtx, int);