From owner-freebsd-questions@FreeBSD.ORG Sun Jan 22 21:26:55 2012 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 8F2EF1065670 for ; Sun, 22 Jan 2012 21:26:55 +0000 (UTC) (envelope-from perrin@apotheon.com) Received: from oproxy3-pub.bluehost.com (oproxy3.bluehost.com [IPv6:2605:dc00:100:2::a3]) by mx1.freebsd.org (Postfix) with SMTP id 4B5368FC16 for ; Sun, 22 Jan 2012 21:26:55 +0000 (UTC) Received: (qmail 19104 invoked by uid 0); 22 Jan 2012 21:26:54 -0000 Received: from unknown (HELO box543.bluehost.com) (74.220.219.143) by oproxy3.bluehost.com with SMTP; 22 Jan 2012 21:26:54 -0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=apotheon.com; s=default; h=In-Reply-To:Content-Type:MIME-Version:References:Message-ID:Subject:To:From:Date; bh=A+DiOJw0xGKZbl8wviyDsnWlWHDCr+eW70lOWmlU9F8=; b=es8X3oGDSX6PpzlkZZlMOnFV9vJ3zFVk/hbRtqSppbO2myFj1B3QJlYodP9MpVA449YTlaZm2xzbSw02ZWZEsHYSm8Z1c1LFVogE+u+oO3OGgXEoQ/T3IOFlxropzzLN; Received: from c-24-8-180-234.hsd1.co.comcast.net ([24.8.180.234] helo=localhost) by box543.bluehost.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.76) (envelope-from ) id 1Rp4w8-0003Jb-80 for freebsd-questions@freebsd.org; Sun, 22 Jan 2012 14:26:52 -0700 Date: Sun, 22 Jan 2012 14:26:53 -0700 From: Chad Perrin To: freebsd-questions@freebsd.org Message-ID: <20120122212653.GA2489@hemlock.hydra> Mail-Followup-To: freebsd-questions@freebsd.org References: <4F1AAB66.5070100@herveybayaustralia.com.au> <20120121133506.7bcfaec9@gumby.homeunix.com> <20120121154313.53d3fec6@gumby.homeunix.com> <20120122070205.GA13081@hemlock.hydra> <4F1BB640.2050707@herveybayaustralia.com.au> <20120122074558.GA22918@hemlock.hydra> <4F1BD17C.3030209@herveybayaustralia.com.au> <20120122123748.GA26579@hemlock.hydra> <20120122203302.GA90962@slackbox.erewhon.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120122203302.GA90962@slackbox.erewhon.net> User-Agent: Mutt/1.5.21 (2010-09-15) X-Identified-User: {2737:box543.bluehost.com:apotheon:apotheon.com} {sentby:smtp auth 24.8.180.234 authed with perrin@apotheon.com} Subject: Re: Clang - what is the story? X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2012 21:26:55 -0000 On Sun, Jan 22, 2012 at 09:33:02PM +0100, Roland Smith wrote: > > PCC is only a C compiler, and there is some C++ code (e.g. groff) in the base > system. The FreeBSD port is marked as i386 and amd64 only, even though other > architectures seem to be there in the PCC source. I had somehow forgotten there was anything in the base system written in C++. That would probably account for the choice of Clang over PCC. > > Personally I think it is a good thing to have different C compilers. In the > past I've installed pcc just to see if my programs compiled OK. Now I tend to > use clang for that. It does a great job of identifying programming errors. I have found it rather disconcerting for quite some time now that the open source development community -- normally quite clued in to the benefits of diversity and friendly, competitive collaboration for maintaining a strong software ecosystem with lots of high quality options -- has been so singularly overrun by a single C compiler (GCC), especially given the central importance of C to the development of the major open source OSes. The problem was compounded by the increasingly byzantine design of GCC itself and the proliferation of ugly edge-cases that created. I was saddened as well to see that TenDRA had vanished, because I thought it brought some important perspective (somewhat unique to its development ideals) to the selection of available compilers, as do PCC, LLVM/Clang, and even the Small-C Compiler. I hope that even if nobody else makes it the "official" compiler of any language, AerieBSD remains an active project with PCC as part of its base system, and that MINIX3 establishes itself reasonably well with TACK, if only to ensure more than two viable C compiler options for members of major open source Unixy OS families. Four is probably a good number, with a few less-central implementations floating around as well to explore the fringes. -- Chad Perrin [ original content licensed OWL: http://owl.apotheon.org ]