]> git.ipfire.org Git - thirdparty/gcc.git/commit
alpha.c (struct machine_function): New flag for VMS, uses_condition_handler.
authorOlivier Hainque <hainque@adacore.com>
Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)
committerDouglas Rupp <rupp@gcc.gnu.org>
Mon, 10 Aug 2009 04:38:02 +0000 (04:38 +0000)
commit221cf9abf3a9f446a4ab9bcf7534f81ef0d1d4e6
treef94897c69f91dfc8c84467b5f742fe05f551e72f
parentb714133e38d25ba3a6df1eb668ead8e0da7f8f62
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
gcc/ChangeLog
gcc/config/alpha/alpha-protos.h
gcc/config/alpha/alpha.c
gcc/config/alpha/alpha.h
gcc/config/alpha/alpha.md
gcc/config/alpha/t-vms
gcc/config/alpha/vms-gcc_shell_handler.c [new file with mode: 0644]
gcc/config/alpha/vms-unwind.h
gcc/config/alpha/vms.h