OSDN Git Service

* config/s390/s390.c (s390_frame_info): Allow large frame sizes
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Jan 2004 16:38:14 +0000 (16:38 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 22 Jan 2004 16:38:14 +0000 (16:38 +0000)
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

gcc/ChangeLog
gcc/config/s390/s390-protos.h
gcc/config/s390/s390.c

index 22c095a..2d68f8a 100644 (file)
@@ -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>
 
index c45ff4d..d769c6a 100644 (file)
@@ -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);
index 5558368..e19bf00 100644 (file)
@@ -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 ();