* 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
+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
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);