diff options
author | Ulrich Weigand <uweigand@de.ibm.com> | 2004-01-22 16:38:14 +0000 |
---|---|---|
committer | Ulrich Weigand <uweigand@gcc.gnu.org> | 2004-01-22 16:38:14 +0000 |
commit | 0067d1217b227d7b74117f5a99a1ecbebcc4c731 (patch) | |
tree | e14492f336c3bdca961bcb9452eb3c5f16156bf7 | |
parent | ba46e66a8bd646e8b8f4a34ab0c69c47d7aca33d (diff) | |
download | gcc-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/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/config/s390/s390-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/s390/s390.c | 4 |
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 (); |