diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/function.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 053253f..87c1086 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2000-11-08 Jakub Jelinek <jakub@redhat.com> + * function.c (expand_function_start): Cast GET_MODE_SIZE to + HOST_WIDE_INT before negating it. + +2000-11-08 Jakub Jelinek <jakub@redhat.com> + * expr.c (expand_expr) [ADDR_EXPR]: Handle when op0 is RETURN_DECL passed in multiple non-contiguous locations. diff --git a/gcc/function.c b/gcc/function.c index f86521a..98184ef 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -6315,7 +6315,8 @@ expand_function_start (subr, parms_have_cleanups) /* Chain thru stack frames, assuming pointer to next lexical frame is found at the place we always store it. */ #ifdef FRAME_GROWS_DOWNWARD - last_ptr = plus_constant (last_ptr, -GET_MODE_SIZE (Pmode)); + last_ptr = plus_constant (last_ptr, + -(HOST_WIDE_INT) GET_MODE_SIZE (Pmode)); #endif last_ptr = gen_rtx_MEM (Pmode, memory_address (Pmode, last_ptr)); MEM_ALIAS_SET (last_ptr) = get_frame_alias_set (); |