summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-10 18:47:36 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2004-07-10 18:47:36 +0000
commitb8e8e485d37e2ea71ba892c4e94a09ae748502de (patch)
tree72d5e9df6e1fad670ec1a43acd8622cb51fb195d
parent6ada6abc57fc1a77de38156ff5d68101c8ac10bc (diff)
downloadppe42-gcc-b8e8e485d37e2ea71ba892c4e94a09ae748502de.tar.gz
ppe42-gcc-b8e8e485d37e2ea71ba892c4e94a09ae748502de.zip
* builtins.c (std_gimplify_va_arg_expr): Widen align/boundary
to HOST_WIDE_INT. Fold pad-args-down arithmetic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84469 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/builtins.c4
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 87c42b826e0..e6d9dd85dbc 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 7c9334ba3fb..02fdc929b41 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -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. */
OpenPOWER on IntegriCloud