aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-02-15 17:21:31 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-02-15 17:21:31 -0500
commit59927d6b34200089c30740a2d1883e9272d6bdbe (patch)
tree8dbc089e43a9ef8c6959d7af80780452e3a774c3 /gcc
parentb345158aacb790278293f6f9552827e825834c40 (diff)
downloadgcc-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.h26
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