From owner-freebsd-hackers@FreeBSD.ORG Sun May 30 11:58:17 2010 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id C6A321065679 for ; Sun, 30 May 2010 11:58:17 +0000 (UTC) (envelope-from freebsd-hackers@m.gmane.org) Received: from lo.gmane.org (lo.gmane.org [80.91.229.12]) by mx1.freebsd.org (Postfix) with ESMTP id 5284C8FC17 for ; Sun, 30 May 2010 11:58:16 +0000 (UTC) Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1OIh9i-0006uy-TR for freebsd-hackers@freebsd.org; Sun, 30 May 2010 13:58:14 +0200 Received: from 193.33.173.33 ([193.33.173.33]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 30 May 2010 13:58:14 +0200 Received: from c.kworr by 193.33.173.33 with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 30 May 2010 13:58:14 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: freebsd-hackers@freebsd.org connect(): No such file or directory From: Volodymyr Kostyrko Date: Sun, 30 May 2010 14:58:05 +0300 Lines: 53 Message-ID: References: <4BDD28E2.8010201@rawbw.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: 193.33.173.33 User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; ru-RU; rv:1.9.1.9) Gecko/20100428 Thunderbird/3.0.4 In-Reply-To: <4BDD28E2.8010201@rawbw.com> Cc: freebsd-ports@freebsd.org Subject: Re: GSoC: Making ports work with clang X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 30 May 2010 11:58:17 -0000 02.05.2010 10:25, Yuri wrote: > Having tried clang++ I have a feeling that it's not quite ready to be a > generic c++ compiler. > It crashes a lot, fails on many quite simple c++ patterns. Very immature. > Don't you feel it's too early to start project like you are going to > given the state of clang with c++? This is just a question of time. Two month ago was the time after three month ago. And clang proceeds rapidly. > You will just keep stumbling upon various problems with various ports > and maybe will make 30% of c++ ports build with it at best. Let me spit out my own stats on ports. I have 574 ports installed, E17, xfce, postgresql etc. 1. 23% of _my_ ports doesn't require any compiler. They are fonts, script, meta-ports etc. 2. 60% of _my_ ports compiles and works with current devel/clang. This means I have only something like 17% ports to deal with. Above this ports major breakages were: 1. __dso not found after link. Some symbols seems to be omitted from libraries and linking of plugins fails badly. 2. Assembler errors. Xorg has some in x11-servers/xorg-server x11-drivers/xf86-video-vesa x11-drivers/xf86-video-ati, everything else compiles and works. 3. Big bunch of compile errors or config errors. This means incorrectly written code, like not correctly declaring variables. This also means some automake stupidities like testing c++ compiler with c style code - for example clang++ refuses to compile "int main(void) {}". 4. Some ports specify that thay need at least gcc 3.3. 5. Some ports needs --dumpspecs. And only small number of ports really require some real investigations. audio/libmad - distorted sound lang/python26 - compiling any gir dumps core textproc/expat2 - dbus dumps core at launch I think there are more. For example on clang-compiled ports gtk apps have problems with rendering final frame, but this is not a gtk failure, rather some lib gtk depends on. And this all data is not current. It's one month old. Since then dumpspecs was implemented. And maybe some other problems begone - I just have not enough time to look at this thoroughly. -- Sphinx of black quartz judge my vow.