https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66010
--- Comment #8 from vries at gcc dot gnu.org --- Author: vries Date: Tue May 12 09:46:47 2015 New Revision: 223054 URL: https://gcc.gnu.org/viewcvs?rev=223054&root=gcc&view=rev Log: Don't take address of ap unless necessary 2015-05-12 Tom de Vries <t...@codesourcery.com> PR tree-optimization/66010 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of ifn_va_arg. * gimplify.h (gimplify_va_arg_internal): Remove loc parameter. (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed va_lists are passed, and remove corresponding handling. (gimplify_va_arg_expr): Only take address of ap if necessary. Add do_deref argument to ifn_va_arg. * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of ifn_va_arg. * c-common.c (build_va_arg): Don't mark ap addressable unless necessary. * gcc.dg/tree-ssa/stdarg-2.c: Undo scan xfails for f15. Modified: trunk/gcc/ChangeLog trunk/gcc/c-family/ChangeLog trunk/gcc/c-family/c-common.c trunk/gcc/gimplify.c trunk/gcc/gimplify.h trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gcc.dg/tree-ssa/stdarg-2.c trunk/gcc/tree-stdarg.c