From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4763 invoked by alias); 9 Jun 2004 20:07:23 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 4729 invoked from network); 9 Jun 2004 20:07:22 -0000 Received: from unknown (HELO mx2.redhat.com) (66.187.237.31) by sourceware.org with SMTP; 9 Jun 2004 20:07:22 -0000 Received: from int-mx2.corp.redhat.com (int-mx2.corp.redhat.com [172.16.27.26]) by mx2.redhat.com (8.12.10/8.12.10) with ESMTP id i59K4pp4010510 for ; Wed, 9 Jun 2004 16:04:52 -0400 Received: from potter.sfbay.redhat.com (potter.sfbay.redhat.com [172.16.27.15]) by int-mx2.corp.redhat.com (8.11.6/8.11.6) with ESMTP id i59K7Hw20993; Wed, 9 Jun 2004 16:07:17 -0400 Received: from frothingslosh.sfbay.redhat.com (frothingslosh.sfbay.redhat.com [172.16.24.27]) by potter.sfbay.redhat.com (8.11.6/8.11.6) with ESMTP id i59K7HP07690; Wed, 9 Jun 2004 13:07:17 -0700 Received: from frothingslosh.sfbay.redhat.com (localhost.localdomain [127.0.0.1]) by frothingslosh.sfbay.redhat.com (8.12.10/8.12.10) with ESMTP id i59K7GQw013235; Wed, 9 Jun 2004 13:07:16 -0700 Received: (from rth@localhost) by frothingslosh.sfbay.redhat.com (8.12.10/8.12.10/Submit) id i59K7Gxu013233; Wed, 9 Jun 2004 13:07:16 -0700 X-Authentication-Warning: frothingslosh.sfbay.redhat.com: rth set sender to rth@redhat.com using -f Date: Wed, 09 Jun 2004 21:39:00 -0000 From: Richard Henderson To: Jason Merrill Cc: gcc-patches@gcc.gnu.org Subject: Re: PATCH: Gimplify VA_ARG_EXPR Message-ID: <20040609200716.GA13131@redhat.com> Mail-Followup-To: Richard Henderson , Jason Merrill , gcc-patches@gcc.gnu.org References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.1i X-SW-Source: 2004-06/txt/msg00559.txt.bz2 On Wed, Jun 09, 2004 at 01:05:34AM -0400, Jason Merrill wrote: > + tree valist = TREE_OPERAND (*expr_p, 0); ... > + valist = build_fold_indirect_ref (valist); The argument to va_arg_expr isn't a pointer. > + addr = create_tmp_var (ptr_type_node, "addr"); > + DECL_POINTER_ALIAS_SET (addr) = get_varargs_alias_set (); Alias set on the decl and not the type? Isn't this going to be (potentially) broken by gimplification? > + tree t = convert (build_pointer_type (type), null_pointer_node); fold_convert. > + /* Make it easier for the backends by protecting the valist argument > + from multiple evaluations. */ > + valist = stabilize_va_list (valist, 0); Seems like the min_value thing would be better here. r~