function.c (assign_parm_setup_block): When creating a new stack slot for a parameter...
* function.c (assign_parm_setup_block): When creating a new stack slot for a parameter, get its alignment from the parameter's DECL_ALIGN rather than the type's TYPE_ALIGN. Make sure that the parameter is at least word aligned. From-SVN: r94104
This commit is contained in:
parent
d2ebe27c9a
commit
a561d88b93
2 changed files with 9 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2005-01-23 Richard Sandiford <rsandifo@redhat.com>
|
||||
|
||||
* function.c (assign_parm_setup_block): When creating a new stack slot
|
||||
for a parameter, get its alignment from the parameter's DECL_ALIGN
|
||||
rather than the type's TYPE_ALIGN. Make sure that the parameter
|
||||
is at least word aligned.
|
||||
|
||||
2005-01-22 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR middle-end/19378
|
||||
|
|
|
@ -2608,8 +2608,9 @@ assign_parm_setup_block (struct assign_parm_data_all *all,
|
|||
size_stored = CEIL_ROUND (size, UNITS_PER_WORD);
|
||||
if (stack_parm == 0)
|
||||
{
|
||||
DECL_ALIGN (parm) = MAX (DECL_ALIGN (parm), BITS_PER_WORD);
|
||||
stack_parm = assign_stack_local (BLKmode, size_stored,
|
||||
TYPE_ALIGN (data->passed_type));
|
||||
DECL_ALIGN (parm));
|
||||
if (GET_MODE_SIZE (GET_MODE (entry_parm)) == size)
|
||||
PUT_MODE (stack_parm, GET_MODE (entry_parm));
|
||||
set_mem_attributes (stack_parm, parm, 1);
|
||||
|
|
Loading…
Add table
Reference in a new issue