aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Weigand <uweigand@de.ibm.com>2004-01-22 16:38:14 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2004-01-22 16:38:14 +0000
commit0067d1217b227d7b74117f5a99a1ecbebcc4c731 (patch)
treee14492f336c3bdca961bcb9452eb3c5f16156bf7
parentba46e66a8bd646e8b8f4a34ab0c69c47d7aca33d (diff)
downloadgcc-0067d1217b227d7b74117f5a99a1ecbebcc4c731.zip
gcc-0067d1217b227d7b74117f5a99a1ecbebcc4c731.tar.gz
gcc-0067d1217b227d7b74117f5a99a1ecbebcc4c731.tar.bz2
s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT.
* config/s390/s390.c (s390_frame_info): Allow large frame sizes for TARGET_64BIT. (s390_arg_frame_offset): Change return type to HOST_WIDE_INT. * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise. From-SVN: r76360
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/config/s390/s390-protos.h2
-rw-r--r--gcc/config/s390/s390.c4
3 files changed, 10 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 22c095a..2d68f8a 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2004-01-22 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * config/s390/s390.c (s390_frame_info): Allow large frame sizes
+ for TARGET_64BIT.
+ (s390_arg_frame_offset): Change return type to HOST_WIDE_INT.
+ * config/s390/s390-protos.h (s390_arg_frame_offset): Likewise.
+
2004-01-22 Roger Sayle <roger@eyesopen.com>
Paolo Bonzini <bonzini@gnu.org>
diff --git a/gcc/config/s390/s390-protos.h b/gcc/config/s390/s390-protos.h
index c45ff4d..d769c6a 100644
--- a/gcc/config/s390/s390-protos.h
+++ b/gcc/config/s390/s390-protos.h
@@ -23,7 +23,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
extern void optimization_options (int, int);
extern void override_options (void);
-extern int s390_arg_frame_offset (void);
+extern HOST_WIDE_INT s390_arg_frame_offset (void);
extern void s390_load_got (int);
extern void s390_emit_prologue (void);
extern void s390_emit_epilogue (void);
diff --git a/gcc/config/s390/s390.c b/gcc/config/s390/s390.c
index 5558368..e19bf00 100644
--- a/gcc/config/s390/s390.c
+++ b/gcc/config/s390/s390.c
@@ -5303,7 +5303,7 @@ s390_frame_info (void)
int i, j;
HOST_WIDE_INT fsize = get_frame_size ();
- if (fsize > 0x7fff0000)
+ if (!TARGET_64BIT && fsize > 0x7fff0000)
fatal_error ("Total size of local variables exceeds architecture limit.");
/* fprs 8 - 15 are caller saved for 64 Bit ABI. */
@@ -5376,7 +5376,7 @@ s390_frame_info (void)
/* Return offset between argument pointer and frame pointer
initially after prologue. */
-int
+HOST_WIDE_INT
s390_arg_frame_offset (void)
{
HOST_WIDE_INT fsize = get_frame_size ();