summaryrefslogtreecommitdiff
path: root/gcc/cfgexpand.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2006-03-11 14:52:57 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2006-03-11 14:52:57 +0000
commit9fb798d76ce4e7682e0aa1846275e8fb6f64f8cc (patch)
tree85ac110020df9a0d5ae2303c5c233d027bad4d3a /gcc/cfgexpand.c
parent6dd3c0a5996256d8159c9c6be925114f692c398e (diff)
downloadgcc-9fb798d76ce4e7682e0aa1846275e8fb6f64f8cc.tar.gz
function.h (frame_offset_overflow): Declare.
* function.h (frame_offset_overflow): Declare. * function.c (frame_offset_overflow): New function. (assign_stack_local_1): Call it to detect that the offset overflows. * cfgexpand.c (alloc_stack_frame_space): Likewise. From-SVN: r111964
Diffstat (limited to 'gcc/cfgexpand.c')
-rw-r--r--gcc/cfgexpand.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/cfgexpand.c b/gcc/cfgexpand.c
index 65ebdb71fcc..75d8e9d394b 100644
--- a/gcc/cfgexpand.c
+++ b/gcc/cfgexpand.c
@@ -192,6 +192,9 @@ alloc_stack_frame_space (HOST_WIDE_INT size, HOST_WIDE_INT align)
}
frame_offset = new_frame_offset;
+ if (frame_offset_overflow (frame_offset, cfun->decl))
+ frame_offset = offset = 0;
+
return offset;
}