mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-02-06 03:59:47 +08:00
re PR middle-end/34621 (gcc.c-torture/execute/va-arg-25.c:32: internal compiler error: in expand_call, at calls.c:2785)
PR middle-end/34621 * function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY when calculating alignment_pad. From-SVN: r132336
This commit is contained in:
parent
74cb1d8bfd
commit
6f6b8f8142
@ -1,3 +1,9 @@
|
||||
2008-02-15 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
PR middle-end/34621
|
||||
* function.c (pad_to_arg_alignment): Remove test for STACK_BOUNDARY
|
||||
when calculating alignment_pad.
|
||||
|
||||
2008-02-15 Uros Bizjak <ubizjak@gmail.com>
|
||||
|
||||
* config/i386/i386.h (CLEAR_RATIO): Use MIN macro.
|
||||
|
@ -3450,7 +3450,7 @@ pad_to_arg_alignment (struct args_size *offset_ptr, int boundary,
|
||||
sp_offset = 0;
|
||||
#endif
|
||||
|
||||
if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
|
||||
if (boundary > PARM_BOUNDARY)
|
||||
{
|
||||
save_var = offset_ptr->var;
|
||||
save_constant = offset_ptr->constant;
|
||||
@ -3476,7 +3476,7 @@ pad_to_arg_alignment (struct args_size *offset_ptr, int boundary,
|
||||
offset_ptr->var = size_binop (MINUS_EXPR, rounded, sp_offset_tree);
|
||||
/* ARGS_SIZE_TREE includes constant term. */
|
||||
offset_ptr->constant = 0;
|
||||
if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
|
||||
if (boundary > PARM_BOUNDARY)
|
||||
alignment_pad->var = size_binop (MINUS_EXPR, offset_ptr->var,
|
||||
save_var);
|
||||
}
|
||||
@ -3488,7 +3488,7 @@ pad_to_arg_alignment (struct args_size *offset_ptr, int boundary,
|
||||
#else
|
||||
CEIL_ROUND (offset_ptr->constant + sp_offset, boundary_in_bytes);
|
||||
#endif
|
||||
if (boundary > PARM_BOUNDARY && boundary > STACK_BOUNDARY)
|
||||
if (boundary > PARM_BOUNDARY)
|
||||
alignment_pad->constant = offset_ptr->constant - save_constant;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user