aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2005-11-12 22:58:48 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2005-11-12 22:58:48 +0000
commit4cfe2e7514c65b59a0b5dc3f32e63b5dd7a8c26d (patch)
tree56b2692ed956683b8d074a503d91563499020f12 /gcc
parent86b5dedbee173fefa9817e2b12a1d9597c95af45 (diff)
downloadgcc-4cfe2e7514c65b59a0b5dc3f32e63b5dd7a8c26d.zip
gcc-4cfe2e7514c65b59a0b5dc3f32e63b5dd7a8c26d.tar.gz
gcc-4cfe2e7514c65b59a0b5dc3f32e63b5dd7a8c26d.tar.bz2
function.c (assign_stack_local_1): Restrict sanity check on frame size overflow to 32-bit and above platforms.
* function.c (assign_stack_local_1): Restrict sanity check on frame size overflow to 32-bit and above platforms. From-SVN: r106840
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/function.c4
2 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b29bc2a..30c5214 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-11-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * function.c (assign_stack_local_1): Restrict sanity check
+ on frame size overflow to 32-bit and above platforms.
+
2005-11-12 Hans-Peter Nilsson <hp@axis.com>
* config/cris/cris.h (LEGITIMIZE_RELOAD_ADDRESS): Define.
diff --git a/gcc/function.c b/gcc/function.c
index 963ad4f..dbf9df7 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -479,7 +479,8 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size, int align,
function->x_stack_slot_list
= gen_rtx_EXPR_LIST (VOIDmode, x, function->x_stack_slot_list);
- /* Try to detect frame size overflows. */
+ /* Try to detect frame size overflows on native platforms. */
+#if BITS_PER_WORD >= 32
if ((FRAME_GROWS_DOWNWARD
? (unsigned HOST_WIDE_INT) -function->x_frame_offset
: (unsigned HOST_WIDE_INT) function->x_frame_offset)
@@ -491,6 +492,7 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size, int align,
/* Avoid duplicate error messages as much as possible. */
function->x_frame_offset = 0;
}
+#endif
return x;
}