aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
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;