From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15879 invoked by alias); 27 Oct 2004 19:04:20 -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 15849 invoked from network); 27 Oct 2004 19:04:17 -0000 Received: from unknown (HELO wproxy.gmail.com) (64.233.184.205) by sourceware.org with SMTP; 27 Oct 2004 19:04:17 -0000 Received: by wproxy.gmail.com with SMTP id 68so356089wri for ; Wed, 27 Oct 2004 12:04:17 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:reply-to:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:references; b=Owg8cDs/KA5FL7tb5ERTQHIDgfdhQXtbGQREczAPGgM7U+nfQKdGH9h0AC7lWHX4PVONbv9MK9IKJLHxFKcaRDRsBja4aBy6dvGom3nD7jIp6uyCLSiMT06CjCIuH7oIe3cz+Fkl4Xqdky6lGtto2ud8XUJ3tXs4cAyKgqSMZmE= Received: by 10.38.96.46 with SMTP id t46mr1367615rnb; Wed, 27 Oct 2004 12:04:17 -0700 (PDT) Received: by 10.38.171.80 with HTTP; Wed, 27 Oct 2004 12:04:17 -0700 (PDT) Message-ID: <84fc9c00041027120454f194a7@mail.gmail.com> Date: Wed, 27 Oct 2004 19:11:00 -0000 From: Richard Guenther Reply-To: Richard Guenther To: Richard Henderson , Zack Weinberg , "Joseph S. Myers" , gcc-patches@gcc.gnu.org Subject: Re: New C parser [patch] In-Reply-To: <20041027184957.GB18849@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit References: <873c02e46k.fsf@codesourcery.com> <20041027184957.GB18849@redhat.com> X-SW-Source: 2004-10/txt/msg02400.txt.bz2 On Wed, 27 Oct 2004 11:49:57 -0700, Richard Henderson wrote: > On Mon, Oct 25, 2004 at 05:03:31PM -0700, Zack Weinberg wrote: > > The only way > > asm() at top level can continue to make sense is if we pass it along > > to cgraph, and somehow get cgraph to preserve the global order of > > functions and asm()s. [Mind you, I would not have any problem with > > dropping this feature.] > > False. > > ---- > static void doit(int, int); > > __asm__("\ > .ent doit \n\ > doit: \n\ > ... \n\ > ret \n\ > .end doit \n\ > "); > > void foo(int a) > { > doit(a, a+1); > } > ---- > > For non-trivial definitions of doit, this can be extremely useful. > Glibc, for instance, uses this in ld.so. Why doesn't it use an assembly file then? You seem to gain nothing by using gcc inline assembly this way. Richard.