builtins.c (std_gimplify_va_arg_expr): Widen align/boundary to HOST_WIDE_INT.

* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
        to HOST_WIDE_INT.  Fold pad-args-down arithmetic.

From-SVN: r84469
This commit is contained in:
Richard Henderson 2004-07-10 11:47:36 -07:00 committed by Richard Henderson
parent 50389094cc
commit 07b8df0a3d
2 changed files with 7 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2004-07-10 Richard Henderson <rth@redhat.com>
* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
to HOST_WIDE_INT. Fold pad-args-down arithmetic.
2004-07-10 Jakub Jelinek <jakub@redhat.com>
* expr.h (store_bit_field, extract_bit_field): Remove last argument.

View File

@ -4474,7 +4474,7 @@ tree
std_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, tree *post_p)
{
tree addr, t, type_size, rounded_size, valist_tmp;
unsigned int align, boundary;
unsigned HOST_WIDE_INT align, boundary;
#ifdef ARGS_GROW_DOWNWARD
/* All of the alignment and movement below is for args-grow-up machines.
@ -4520,7 +4520,7 @@ std_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, tree *post_p)
t = fold (build3 (COND_EXPR, sizetype, t, size_zero_node,
size_binop (MINUS_EXPR, rounded_size, type_size)));
t = fold_convert (TREE_TYPE (addr), t);
addr = build2 (PLUS_EXPR, TREE_TYPE (addr), addr, t);
addr = fold (build2 (PLUS_EXPR, TREE_TYPE (addr), addr, t));
}
/* Compute new value for AP. */