summaryrefslogtreecommitdiffstats
path: root/gcc
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 21:50:56 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-27 21:50:56 +0000
commit33dd998bc0c0b03ecae84d722c102e5bafc2e66d (patch)
tree057c35bd6a1092e90975a10ffd18e90f06a4d9e0 /gcc
parent77d98cfeb600dc6fd392a714950772af5b861f0e (diff)
downloadppe42-gcc-33dd998bc0c0b03ecae84d722c102e5bafc2e66d.tar.gz
ppe42-gcc-33dd998bc0c0b03ecae84d722c102e5bafc2e66d.zip
* function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
before rounding. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85233 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/function.c6
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 <rth@redhat.com>
+
+ * function.c (assign_stack_local_1): Widen alignment to HOST_WIDE_INT
+ before rounding.
+
2004-07-27 Zack Weinberg <zack@codesourcery.com>
* 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
}
OpenPOWER on IntegriCloud