aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/function.c7
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 42838d8..69f03c1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+Fri Aug 27 09:36:17 1999 Andreas Schwab <schwab@suse.de>
+
+ * function.c (assign_stack_temp_for_type): Fix change of Mar 5 for
+ the fact that ALIGN is measured in bits, not bytes.
+
1999-08-27 00:27 -0700 Zack Weinberg <zack@bitmover.com>
* c-typeck.c (c_expand_start_case): Return immediately if exp
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;