diff options
author | rupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-10 04:38:02 +0000 |
---|---|---|
committer | rupp <rupp@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-08-10 04:38:02 +0000 |
commit | 50f36bdbffd90bd6d00fc968429cad748d5e1d8c (patch) | |
tree | f94897c69f91dfc8c84467b5f742fe05f551e72f /gcc/config/alpha/t-vms | |
parent | c45d3ddf9f8a995d8cf16e9a87932887406e799c (diff) | |
download | gcc-50f36bdbffd90bd6d00fc968429cad748d5e1d8c.tar.gz |
* 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):
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@150612 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/alpha/t-vms')
-rw-r--r-- | gcc/config/alpha/t-vms | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/config/alpha/t-vms b/gcc/config/alpha/t-vms index e11051278f0..410e219ff5b 100644 --- a/gcc/config/alpha/t-vms +++ b/gcc/config/alpha/t-vms @@ -17,6 +17,8 @@ # along with GCC; see the file COPYING3. If not see # <http://www.gnu.org/licenses/>. +LIB2FUNCS_EXTRA = $(srcdir)/config/alpha/vms-gcc_shell_handler.c + EXTRA_PARTS = vms-dwarf2.o vms-dwarf2eh.o $(VMS_EXTRA_PARTS) \ crtbegin.o crtbeginS.o crtend.o crtendS.o |