aboutsummaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>1999-08-27 07:53:33 +0000
committerAndreas Schwab <schwab@gcc.gnu.org>1999-08-27 07:53:33 +0000
commit010529e58b6b5a51988b7d913380c2c508e7aefc (patch)
treebcf1a9a0cbc15f343d592309549513edc7c5f654 /gcc/function.c
parentf8b6598ecc2a0594801da4f59f5740b550802244 (diff)
downloadgcc-010529e58b6b5a51988b7d913380c2c508e7aefc.zip
gcc-010529e58b6b5a51988b7d913380c2c508e7aefc.tar.gz
gcc-010529e58b6b5a51988b7d913380c2c508e7aefc.tar.bz2
function.c (assign_stack_temp_for_type): Fix change of Mar 5 for the fact that ALIGN is measured in bits, not bytes.
* function.c (assign_stack_temp_for_type): Fix change of Mar 5 for the fact that ALIGN is measured in bits, not bytes. From-SVN: r28926
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/gcc/function.c b/gcc/function.c
index cae26e5..074252c 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -674,11 +674,12 @@ assign_stack_temp_for_type (mode, size, keep, type)
So for requests which depended on the rounding of SIZE, we go ahead
and round it now. We also make sure ALIGNMENT is at least
BIGGEST_ALIGNMENT. */
- if (mode == BLKmode && align < (BIGGEST_ALIGNMENT / BITS_PER_UNIT))
+ if (mode == BLKmode && align < BIGGEST_ALIGNMENT)
abort();
p->slot = assign_stack_local (mode,
- mode == BLKmode
- ? CEIL_ROUND (size, align) : size,
+ (mode == BLKmode
+ ? CEIL_ROUND (size, align / BITS_PER_UNIT)
+ : size),
align);
p->align = align;