From 6f67a30d15afdf01e89ad5b8c88f5ad9bef94bb6 Mon Sep 17 00:00:00 2001 From: John Wehle Date: Fri, 5 Mar 1999 01:19:25 +0000 Subject: 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 --- gcc/function.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'gcc/function.c') diff --git a/gcc/function.c b/gcc/function.c index 4d67366..d6d5aa6 100644 --- a/gcc/function.c +++ b/gcc/function.c @@ -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; -- cgit v1.1