summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-12 22:58:48 +0000
committerebotcazou <ebotcazou@138bc75d-0d04-0410-961f-82ee72b054a4>2005-11-12 22:58:48 +0000
commitb577ec5cb554bfbc91a960991489e379c59ec5e9 (patch)
tree56b2692ed956683b8d074a503d91563499020f12 /gcc/function.c
parent2fcca2f753e965731c3a28b98742e2ec28d2e0c3 (diff)
downloadgcc-b577ec5cb554bfbc91a960991489e379c59ec5e9.tar.gz
* function.c (assign_stack_local_1): Restrict sanity check
on frame size overflow to 32-bit and above platforms. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106840 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/function.c b/gcc/function.c
index 963ad4f1e94..dbf9df74ade 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;
}