diff options
| author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-22 16:38:14 +0000 |
|---|---|---|
| committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-01-22 16:38:14 +0000 |
| commit | 85307ce1e0e33d9a31ae92b856afbe644c024bf3 (patch) | |
| tree | e14492f336c3bdca961bcb9452eb3c5f16156bf7 | |
| parent | 7927f9f03d07efe74bb61408e4f509997bc3fe8c (diff) | |
| download | ppe42-gcc-85307ce1e0e33d9a31ae92b856afbe644c024bf3.tar.gz ppe42-gcc-85307ce1e0e33d9a31ae92b856afbe644c024bf3.zip | |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@76360 138bc75d-0d04-0410-961f-82ee72b054a4
| -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 22c095a6254..2d68f8a9baa 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 c45ff4dcd0f..d769c6aa688 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 555836856e4..e19bf007879 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 (); |

