Commit 07b8df0a by Richard Henderson Committed by Richard Henderson

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
parent 50389094
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> 2004-07-10 Jakub Jelinek <jakub@redhat.com>
* expr.h (store_bit_field, extract_bit_field): Remove last argument. * expr.h (store_bit_field, extract_bit_field): Remove last argument.
......
...@@ -4474,7 +4474,7 @@ tree ...@@ -4474,7 +4474,7 @@ tree
std_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, tree *post_p) std_gimplify_va_arg_expr (tree valist, tree type, tree *pre_p, tree *post_p)
{ {
tree addr, t, type_size, rounded_size, valist_tmp; tree addr, t, type_size, rounded_size, valist_tmp;
unsigned int align, boundary; unsigned HOST_WIDE_INT align, boundary;
#ifdef ARGS_GROW_DOWNWARD #ifdef ARGS_GROW_DOWNWARD
/* All of the alignment and movement below is for args-grow-up machines. /* 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) ...@@ -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, t = fold (build3 (COND_EXPR, sizetype, t, size_zero_node,
size_binop (MINUS_EXPR, rounded_size, type_size))); size_binop (MINUS_EXPR, rounded_size, type_size)));
t = fold_convert (TREE_TYPE (addr), t); 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. */ /* Compute new value for AP. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment