re PR middle-end/38028 (eh failures on spu-elf)
PR middle-end/38028 * function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to determine alignment passed to assign_stack_local. (assign_parms_unsplit_complex): Likewise. * except.c (sjlj_build_landing_pads): Likewise. From-SVN: r144696
This commit is contained in:
parent
d97817522c
commit
3a695389b3
@ -1,3 +1,11 @@
|
||||
2009-03-07 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
|
||||
|
||||
PR middle-end/38028
|
||||
* function.c (assign_parm_setup_stack): Use STACK_SLOT_ALIGNMENT to
|
||||
determine alignment passed to assign_stack_local.
|
||||
(assign_parms_unsplit_complex): Likewise.
|
||||
* except.c (sjlj_build_landing_pads): Likewise.
|
||||
|
||||
2009-03-06 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR middle-end/39360
|
||||
|
@ -2017,11 +2017,13 @@ sjlj_build_landing_pads (void)
|
||||
if (sjlj_find_directly_reachable_regions (lp_info))
|
||||
{
|
||||
rtx dispatch_label = gen_label_rtx ();
|
||||
|
||||
int align = STACK_SLOT_ALIGNMENT (sjlj_fc_type_node,
|
||||
TYPE_MODE (sjlj_fc_type_node),
|
||||
TYPE_ALIGN (sjlj_fc_type_node));
|
||||
crtl->eh.sjlj_fc
|
||||
= assign_stack_local (TYPE_MODE (sjlj_fc_type_node),
|
||||
int_size_in_bytes (sjlj_fc_type_node),
|
||||
TYPE_ALIGN (sjlj_fc_type_node));
|
||||
align);
|
||||
|
||||
sjlj_assign_call_site_values (dispatch_label, lp_info);
|
||||
sjlj_mark_call_sites (lp_info);
|
||||
|
@ -2967,10 +2967,13 @@ assign_parm_setup_stack (struct assign_parm_data_all *all, tree parm,
|
||||
|
||||
if (data->stack_parm == 0)
|
||||
{
|
||||
int align = STACK_SLOT_ALIGNMENT (data->passed_type,
|
||||
GET_MODE (data->entry_parm),
|
||||
TYPE_ALIGN (data->passed_type));
|
||||
data->stack_parm
|
||||
= assign_stack_local (GET_MODE (data->entry_parm),
|
||||
GET_MODE_SIZE (GET_MODE (data->entry_parm)),
|
||||
TYPE_ALIGN (data->passed_type));
|
||||
align);
|
||||
set_mem_attributes (data->stack_parm, parm, 1);
|
||||
}
|
||||
|
||||
@ -3032,11 +3035,13 @@ assign_parms_unsplit_complex (struct assign_parm_data_all *all, tree fnargs)
|
||||
{
|
||||
rtx rmem, imem;
|
||||
HOST_WIDE_INT size = int_size_in_bytes (TREE_TYPE (parm));
|
||||
int align = STACK_SLOT_ALIGNMENT (TREE_TYPE (parm),
|
||||
DECL_MODE (parm),
|
||||
TYPE_ALIGN (TREE_TYPE (parm)));
|
||||
|
||||
/* split_complex_arg put the real and imag parts in
|
||||
pseudos. Move them to memory. */
|
||||
tmp = assign_stack_local (DECL_MODE (parm), size,
|
||||
TYPE_ALIGN (TREE_TYPE (parm)));
|
||||
tmp = assign_stack_local (DECL_MODE (parm), size, align);
|
||||
set_mem_attributes (tmp, parm, 1);
|
||||
rmem = adjust_address_nv (tmp, inner, 0);
|
||||
imem = adjust_address_nv (tmp, inner, GET_MODE_SIZE (inner));
|
||||
|
Loading…
Reference in New Issue
Block a user