On 12 March 2015 at 10:06, Charles Forsyth <charles.forsyth@gmail.com> wrote:
I've used it and lib9 in several other projects where other compilers
couldn't be used for licensing reasons, or because they were awful.

I'll add that the compilers are great for kernel and other New World systems work.
Once stable on a given platform, they've been quite robust (I never suspect them at the start as a bug cause).
Code quality is rarely a bottleneck for systems work in my experience
(and there's a good reason that removing -O3 is a way to fix bugs with other compilers).
If I were writing scientific computation, I wouldn't use C anyway, but if I did, I'd worry
much more about the effectiveness of optimisation. For systems work? It's really, really low on the list.
The cross-module type checking has also spotted a few things that every other compiler missed.

Cross-compilation is easy and precise, with next to no configuration required,
unlike nearly all the others; I rely on that a lot. It's worth the price of entry for that alone, for me,
having suffered with gcc on an old OS project of mine; I'd never use it again for anything new.
(Obviously I still use gcc for the 8 hour[!] Linux kernel compiles and builds.)

lcc used to include all the code generators, so I suppose that would be just as good, except
that it spits out assembly and you have to rely on external components, which still leaves you cross when attempting
to cross-compile.