function.c (assign_stack_temp_for_type): Fix change of Mar 5 for the fact that ALIGN...
authorAndreas Schwab <schwab@suse.de>
Fri, 27 Aug 1999 07:53:33 +0000 (07:53 +0000)
committerAndreas Schwab <schwab@gcc.gnu.org>
Fri, 27 Aug 1999 07:53:33 +0000 (07:53 +0000)
* 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

gcc/ChangeLog
gcc/function.c

index 42838d8d50957912d91bd500d239213b7c279097..69f03c106336aa539ce70eb37df425bf6cc63757 100644 (file)
@@ -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
index cae26e5cb8076730d4976a58e2847e858e42a3d0..074252c5b583264449fdbd9c9e2d77656fea824a 100644 (file)
@@ -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;