diff options
author | John Wehle <john@feith.com> | 1999-03-05 01:19:25 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1999-03-04 18:19:25 -0700 |
commit | 6f67a30d15afdf01e89ad5b8c88f5ad9bef94bb6 (patch) | |
tree | 33690e0e0c157ed4d3c3cf1c26664e7cdb9bf2ab /gcc/function.c | |
parent | 01587fa2fe4deff7bf106fa223d6c1ed5fc75db5 (diff) | |
download | gcc-6f67a30d15afdf01e89ad5b8c88f5ad9bef94bb6.zip gcc-6f67a30d15afdf01e89ad5b8c88f5ad9bef94bb6.tar.gz gcc-6f67a30d15afdf01e89ad5b8c88f5ad9bef94bb6.tar.bz2 |
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
Diffstat (limited to 'gcc/function.c')
-rw-r--r-- | gcc/function.c | 12 |
1 files changed, 6 insertions, 6 deletions
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; |