diff options
-rw-r--r-- | contrib/gcc/function.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/contrib/gcc/function.c b/contrib/gcc/function.c index bf3a3fb..e597d33 100644 --- a/contrib/gcc/function.c +++ b/contrib/gcc/function.c @@ -1030,11 +1030,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; |