diff options
author | Richard Guenther <rguenther@suse.de> | 2009-05-05 16:08:24 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2009-05-05 16:08:24 +0000 |
commit | 8d972839dfb7749bd218b9b6804a33e353c83d4f (patch) | |
tree | 7e575827eddf3afb9745eccb6ba54bf3460a7b91 /gcc/builtins.c | |
parent | 95e207682899fcbf2bcfc43dd2926a6e866e884a (diff) | |
download | gcc-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.c | 2 |
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); |