diff options
author | Richard Kenner <kenner@gcc.gnu.org> | 1997-02-15 17:21:31 -0500 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 1997-02-15 17:21:31 -0500 |
commit | 59927d6b34200089c30740a2d1883e9272d6bdbe (patch) | |
tree | 8dbc089e43a9ef8c6959d7af80780452e3a774c3 /gcc | |
parent | b345158aacb790278293f6f9552827e825834c40 (diff) | |
download | gcc-59927d6b34200089c30740a2d1883e9272d6bdbe.zip gcc-59927d6b34200089c30740a2d1883e9272d6bdbe.tar.gz gcc-59927d6b34200089c30740a2d1883e9272d6bdbe.tar.bz2 |
(FUNCTION_PROLOGUE): Delete.
From-SVN: r13640
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/config/vax/vms.h | 26 |
1 files changed, 7 insertions, 19 deletions
diff --git a/gcc/config/vax/vms.h b/gcc/config/vax/vms.h index b9a242b..d8580b5 100644 --- a/gcc/config/vax/vms.h +++ b/gcc/config/vax/vms.h @@ -1,5 +1,5 @@ /* Output variables, constants and external declarations, for GNU compiler. - Copyright (C) 1988, 1994, 1995, 1996 Free Software Foundation, Inc. + Copyright (C) 1988, 1994, 1995, 1996, 1997 Free Software Foundation, Inc. This file is part of GNU CC. @@ -35,7 +35,6 @@ Boston, MA 02111-1307, USA. */ #undef TARGET_DEFAULT #undef CALL_USED_REGISTERS #undef MAYBE_VMS_FUNCTION_PROLOGUE -#undef FUNCTION_PROLOGUE #undef STARTING_FRAME_OFFSET /* Predefine this in CPP because VMS limits the size of command options @@ -69,26 +68,15 @@ Boston, MA 02111-1307, USA. */ #define CALL_USED_REGISTERS {1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1} -/* We redefine this because there is a hidden variable on the stack - that VAXC$ESTABLISH uses. We just need to add four bytes to whatever - gcc thinks that we need. Similarly, we need to move all local variables - down 4 bytes in the stack. */ +/* The run-time library routine VAXC$ESTABLISH (necessary when mixing + VMS exception handling and setjmp/longjmp in the same program) requires + that a hidden automatic variable at the top of the stack be reserved + for its use. We accomplish this by simply adding 4 bytes to the local + stack for all functions, and making sure that normal local variables + are 4 bytes lower on the stack then they would otherwise have been. */ #define STARTING_FRAME_OFFSET -4 -#define FUNCTION_PROLOGUE(FILE, SIZE) \ -{ register int regno; \ - register int mask = 0; \ - register int newsize = SIZE + 4; \ - extern char call_used_regs[]; \ - for (regno = 0; regno < FIRST_PSEUDO_REGISTER; regno++) \ - if (regs_ever_live[regno] && !call_used_regs[regno]) \ - mask |= 1 << regno; \ - fprintf (FILE, "\t.word 0x%x\n", mask); \ - MAYBE_VMS_FUNCTION_PROLOGUE(FILE) \ - if (newsize >= 64) fprintf (FILE, "\tmovab %d(sp),sp\n", -newsize);\ - else fprintf (FILE, "\tsubl2 $%d,sp\n", newsize); } - #define __MAIN_NAME " main(" /* * The MAYBE_VMS_FUNCTION_PROLOGUE macro works for both gcc and g++. It |