From owner-freebsd-current@FreeBSD.ORG Fri Jan 9 13:47:43 2009 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B846E106566C for ; Fri, 9 Jan 2009 13:47:43 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from vlakno.cz (77-93-215-190.static.masterinter.net [77.93.215.190]) by mx1.freebsd.org (Postfix) with ESMTP id 3C9138FC12 for ; Fri, 9 Jan 2009 13:47:42 +0000 (UTC) (envelope-from rdivacky@vlk.vlakno.cz) Received: from localhost (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id 7F4FD9CB170; Fri, 9 Jan 2009 14:47:32 +0100 (CET) X-Virus-Scanned: amavisd-new at vlakno.cz Received: from vlakno.cz ([127.0.0.1]) by localhost (lev.vlakno.cz [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tUSP3S2ANchJ; Fri, 9 Jan 2009 14:47:25 +0100 (CET) Received: from vlk.vlakno.cz (localhost [127.0.0.1]) by vlakno.cz (Postfix) with ESMTP id CA6229CB298; Fri, 9 Jan 2009 14:47:25 +0100 (CET) Received: (from rdivacky@localhost) by vlk.vlakno.cz (8.14.2/8.14.2/Submit) id n09DlPN7039631; Fri, 9 Jan 2009 14:47:25 +0100 (CET) (envelope-from rdivacky) Date: Fri, 9 Jan 2009 14:47:25 +0100 From: Roman Divacky To: Christoph Mallon Message-ID: <20090109134725.GA38233@freebsd.org> References: <49668763.8020705@mail.zedat.fu-berlin.de> <20090108233311.GA69883@keltia.freenix.fr> <20090109031147.GB44317@duncan.reilly.home> <49672189.5060109@gmx.de> <20090109110508.GA12123@freebsd.org> <496751D1.20605@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <496751D1.20605@gmx.de> User-Agent: Mutt/1.4.2.3i Cc: Andrew Reilly , freebsd-current@freebsd.org, Ollivier Robert Subject: Re: gcc 4.3: when will it become standard compiler? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 09 Jan 2009 13:47:44 -0000 On Fri, Jan 09, 2009 at 02:32:01PM +0100, Christoph Mallon wrote: > Roman Divacky schrieb: > >>I'm not saying it's wrong to look for alternatives, but you cannot just > >>change your system compiler like you change underwear. > > > >well... the first step is imho starting to compile world with C99... > >that might reveal some bugs, note that as of a few months ago > >8-current compiles cleanly with C99, that does not mean that it's > >working when you run those programs correctly :) > > One step in the right direction is embracing the nice features modern C > offers you. For example declaring a variable right were you need it > instead of dozens of lines away is one such nice thing which improves > readability. Designated initializers improve readability, too. > But I'm not exactly sure what you mean by "compile world with C99". C99 > is pretty much backwards compatible to C89. sorry for the bad wording - I meant to turn C99 compilation on default. We compile in gnu89 mode now. > >>PCC cannot seriously be considered. Its design is stuck in the > >>seventies. From the point of view of compiler construction it is plain > >>plain out of question. I especially was amused by the statement of the > >>author who claimed PCC supports SSA - except for phi-functions. > > > >what's wrong with design stuck in 70's when it compiles the whole > >world/kernel? > > > >I would not use it for default compilation of releases but it might be > >useful when you are developing - because of its fast compilation times > > If you want a real speed devil, try TCC. well.. tcc does not seem to be integrated by any *BSD while pcc has been adopted by netbsd and openbsd :) that shows it has something good (at least good promotion *grin*) > >btw.. are you sure the design is stuck in the 70's? the author claims > >to have rewritten almost the whole thing. have you looked at the recent > >code? > > It's still a simple tree based approach. From point of view of > optimisations this often gets in the way. For example you need temporary > variables as helper construct which just complicates things (yes, there > are intermediate representations which do not have temporary variables > at all). Much has happend in compiler land in the last 30 years. Now we > have stuff like SSA and some are even doing code generation in this > form. I can go into more details, but this is not the right place. ok.. I just wanted to be sure you looked at the new version. > >another question - how is libfirm/cparser? last time I tried it didnt > >support much of the gcc options (-Wsomething -f-something etc.) so > >it could not be used as a direct drop-in > > The next release will support several more switches for GCC > compatibility. Here's the latest manpage: > http://tron.homeunix.org/cparser.1 - you can view it with "nroff -man > cparser.1". Switches like -Wl, and -Wp, are supported. Many bugs have > been resolved. More warning options have been added - many similar to > what GCC does, some doing a better job. We plan to make a new release > Really Soon Now(TM). ok.. looking forward :)