Clang - what is the story?
perrin at apotheon.com
Sun Jan 22 21:26:55 UTC 2012
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
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 ]
More information about the freebsd-questions