function.c (assign_stack_temp_for_type): Abort if mode == Blkmode and align is less than BIGGEST_ALIGNMENT / BITS_PER_UNIT.
* function.c (assign_stack_temp_for_type): Abort if mode == Blkmode and align is less than BIGGEST_ALIGNMENT / BITS_PER_UNIT. (assign_stack_temp_for_type): Round the size parameter passed to assign_stack_local instead of size itself. Bootstrapped on the PA and x86. From-SVN: r25593
This commit is contained in:
parent
01587fa2fe
commit
6f67a30d15
2 changed files with 14 additions and 6 deletions
|
@ -1,3 +1,11 @@
|
|||
Fri Mar 5 02:14:54 1999 John Wehle (john@feith.com)
|
||||
|
||||
* function.c (assign_stack_temp_for_type): Abort
|
||||
if mode == Blkmode and align is less than
|
||||
BIGGEST_ALIGNMENT / BITS_PER_UNIT.
|
||||
(assign_stack_temp_for_type): Round the size parameter
|
||||
passed to assign_stack_local instead of size itself.
|
||||
|
||||
Thu Mar 4 15:00:35 1999 Richard Henderson <rth@cygnus.com>
|
||||
|
||||
* flow.c (delete_unreachable_blocks): Mark blocks as they
|
||||
|
|
|
@ -998,12 +998,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 = MAX (align, BIGGEST_ALIGNMENT / BITS_PER_UNIT);
|
||||
size = CEIL_ROUND (size, align);
|
||||
}
|
||||
p->slot = assign_stack_local (mode, size, align);
|
||||
if (mode == BLKmode && align < (BIGGEST_ALIGNMENT / BITS_PER_UNIT))
|
||||
abort();
|
||||
p->slot = assign_stack_local (mode,
|
||||
mode == BLKmode
|
||||
? CEIL_ROUND (size, align) : size,
|
||||
align);
|
||||
|
||||
p->align = align;
|
||||
p->alias_set = alias_set;
|
||||
|
|
Loading…
Add table
Reference in a new issue