diff options
author | Olivier Hainque <hainque@adacore.com> | 2009-08-10 04:38:02 +0000 |
---|---|---|
committer | Douglas Rupp <rupp@gcc.gnu.org> | 2009-08-10 04:38:02 +0000 |
commit | 221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6 (patch) | |
tree | f94897c69f91dfc8c84467b5f742fe05f551e72f /gcc/config/alpha/alpha-protos.h | |
parent | b714133e38d25ba3a6df1eb668ead8e0da7f8f62 (diff) | |
download | gcc-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.h | 3 |
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); |