From e140e27d53bf2a52576a18e9c97694c38a09f55b Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Tue, 27 Jul 2004 14:50:56 -0700 Subject: [PATCH] function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT before rounding. * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT before rounding. From-SVN: r85233 --- gcc/ChangeLog | 5 +++++ gcc/function.c | 6 ++++-- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5d180c89b20..9f760a2b16f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-07-27 Richard Henderson + + * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT + before rounding. + 2004-07-27 Zack Weinberg * libgcc2.c: Change all conditionals testing diff --git a/gcc/function.c b/gcc/function.c index 7624342be16..699a009ee03 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -453,11 +453,13 @@ assign_stack_local_1 (enum machine_mode mode, HOST_WIDE_INT size, int align, use logical operations which are unambiguous. */ #ifdef FRAME_GROWS_DOWNWARD function->x_frame_offset - = (FLOOR_ROUND (function->x_frame_offset - frame_phase, alignment) + = (FLOOR_ROUND (function->x_frame_offset - frame_phase, + (unsigned HOST_WIDE_INT) alignment) + frame_phase); #else function->x_frame_offset - = (CEIL_ROUND (function->x_frame_offset - frame_phase, alignment) + = (CEIL_ROUND (function->x_frame_offset - frame_phase, + (unsigned HOST_WIDE_INT) alignment) + frame_phase); #endif } -- 2.30.2