Clang - what is the story?
freebsd-questions at herveybayaustralia.com.au
Sun Jan 22 12:59:15 UTC 2012
On 01/22/12 22:37, Chad Perrin wrote:
> On Sun, Jan 22, 2012 at 07:06:04PM +1000, Da Rock wrote:
>> On 01/22/12 17:45, Chad Perrin wrote:
>>> A couple years ago, it looked like a race between PCC and TenDRA, but
>>> Clang seemed to just come out of nowhere and steal all the attention.
>>> All three of them had a lot to recommend them, but then the TenDRA
>>> modernization project evaporated and everybody jumped on the Clang wagon.
>>> At least, that's how it looked to me.
>> Wow! I'm going to have to do some more research on compilers- I've
>> never heard of these until now...
>> I sound pretty stupid don't I? :P
> Nah. TenDRA was pretty obscure except in certain circles related to DRA,
> I think -- and DRA (Defense Research Agency), something like a UK
> equivalent to the US DARPA (Defense Advanced Research Projects Agency),
> ceased to exist in the mid-1990s, making it and anything related to it
> even more obscure since then. I don't know whether DERA (which replaced
> DRA) did anything with TenDRA.
> I almost forgot that in addition to the TenDRA project, there was also
> the Ten15 project; TenDRA had forked somewhere along the way. As far as
> I'm aware, Ten15 was farther out of date and less actively developed at
> the time I was talking to TenDRA developers and offering a little bit of
> help with that project. I never really got involved with Ten15 at all,
> so my knowledge of it is *really* scant.
Wikipedia was very helpful with this one.
> PCC (Portable C Compiler), meanwhile, spent many years essentially unused
> except in some of the dustier corners of Unix user communities before
> being actively developed again as more and more people started wanting a
> copyfree C compiler alternative to the very copyleft GCC. PCC was a big
> deal for a while, and I think most C compilers were based on it to some
> extent in the early '80s, but its influenced waned enough that GCC
> replaced it pretty much everywhere by about the same time DRA went away.
According to wiki it was "the" compiler for unix- particularly bsd up to
4.4 (FreeBSD's parent prior to becoming opensource).
> As things stand now, I don't think anyone is actively developing TenDRA
> (and in fact I wonder if all the more recent work on it has been lost),
According to wiki there was one person on the job and has grown to a
"team" now- how many I don't know :)
> but the modern PCC project reached 1.0 release last year and is reputedly
> building OpenBSD kernels without a hitch. There has been some talk of it
> being the GCC replacement for OpenBSD and maybe even NetBSD, though I
> seem to recall Theo de Raadt doesn't consider replacing GCC a very urgent
> requirement right now (which might be part of the reason AerieBSD
> explicitly prioritizes rejecting copyfree software after it forked from
> OpenBSD, though that's just speculation by me, based in part on the fact
> it appears PCC is in the AerieBSD base system).
Haven't heard of the new BSD, but I did find the comment from Raadt.
> Another option that hasn't been mentioned -- and I don't think it was
> ever really considered for FreeBSD as a GCC-replacement, but I don't
> actually know that for sure -- is The Amsterdam Compiler Kit, sometimes
> called TACK or ACK. It, too, uses a BSD license, as does PCC and as did
> TenDRA. TACK is the "base system" (I'm not sure they use that word,
> really) for MINIX3, I think. Beyond that, and the fact it was originally
> available only under commercial license, I don't really know anything
> about it.
I'm pretty sure that was on the list of compilers mentioned at
wikipedia. I was going to take a better look at the list when I get some
time. Maybe even try them out...
> The reason I started writing this email was just to mention that this
> stuff has all been pretty obscure compared to the much higher profile
> Clang and GCC projects. That common thread should, I hope, be clear in
> my descriptions of the various projects I mentioned, so no -- I don't
> think you sound pretty stupid for not knowing about them. In fact, to
> reach the level of "stupid", I think you'd have to be one of the
> dismaying number of people in the Linux world who kludge together C code
> and apparently aren't aware there are any C compilers available that
> don't come from the GNU Project or Microsoft, or the craptons of Visual
> Studio developers who have never realized C can be compiled without
> Visual Studio.
I personally had no idea this was going on; my impression was gcc grew
out of the original compiler that built unix, and the only choices were
borland and gcc. The former for win32 crap and the latter for, well,
Well. Consider me enlightened... ;)
More information about the freebsd-questions