aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorRichard Guenther <rguenther@suse.de>2009-05-05 16:08:24 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2009-05-05 16:08:24 +0000
commit8d972839dfb7749bd218b9b6804a33e353c83d4f (patch)
tree7e575827eddf3afb9745eccb6ba54bf3460a7b91 /gcc/builtins.c
parent95e207682899fcbf2bcfc43dd2926a6e866e884a (diff)
downloadgcc-8d972839dfb7749bd218b9b6804a33e353c83d4f.zip
gcc-8d972839dfb7749bd218b9b6804a33e353c83d4f.tar.gz
gcc-8d972839dfb7749bd218b9b6804a33e353c83d4f.tar.bz2
re PR middle-end/40023 (type mismatch in address expression)
2009-05-05 Richard Guenther <rguenther@suse.de> PR middle-end/40023 * builtins.c (gimplify_va_arg_expr): Properly build the address. * gcc.c-torture/compile/pr40023.c: New testcase. From-SVN: r147127
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r--gcc/builtins.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c
index 0436229..e124189 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -5033,7 +5033,7 @@ gimplify_va_arg_expr (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p)
if (TREE_CODE (TREE_TYPE (valist)) == ARRAY_TYPE)
{
tree p1 = build_pointer_type (TREE_TYPE (have_va_type));
- valist = build_fold_addr_expr_with_type (valist, p1);
+ valist = fold_convert (p1, build_fold_addr_expr (valist));
}
gimplify_expr (&valist, pre_p, post_p, is_gimple_val, fb_rvalue);