Move array-type va_list handling to build_va_arg
authorTom de Vries <tom@codesourcery.com>
Mon, 18 May 2015 08:19:29 +0000 (08:19 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Mon, 18 May 2015 08:19:29 +0000 (08:19 +0000)
commit2fe1d762d6f04874d61e004a7400ab32e6e4ca6e
tree6fc922cafa797c756299ad1c165a14cb319e70a5
parentdaf347dddd48faffdc5912c99ea1b52f19be867d
Move array-type va_list handling to build_va_arg

2015-05-18  Tom de Vries  <tom@codesourcery.com>

* gimplify.c (gimplify_modify_expr): Remove do_deref handling.
(gimplify_va_arg_expr): Remove do_deref handling.  Remove adding of
address operator to va_list operand.
* tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
unconditionally.
* config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
operand.
* config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
* config/s390/s390.c (s390_gimplify_va_arg): Same.
* config/spu/spu.c (spu_gimplify_va_arg_expr): Same.

* c-common.c (build_va_arg_1): New function.
(build_va_arg): Add address operator to va_list operand if necessary.

From-SVN: r223286
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/config/i386/i386.c
gcc/config/rs6000/rs6000.c
gcc/config/s390/s390.c
gcc/config/spu/spu.c
gcc/gimplify.c
gcc/tree-stdarg.c