On Wed, Feb 2, 2011 at 6:16 PM, Bakul Shah <bakul+plan9@bitblocks.com> wrote:
On Thu, 03 Feb 2011 00:52:35 GMT Charles Forsyth <forsyth@terzarima.net>  wrote:
> > >$ size /usr/local/bin/clang
> > >   text    data     bss     dec     hex filename
> > >22842862        1023204   69200 23935266        16d3922 /usr/local/bin/clang
>
> i suppose a more useful comment might be a question:
> how does a C compiler get to be that big? what is all that code doing?

It is a C/C++/Obj-C compiler & does static analysis, has
backends for multiple processor types as well as C as a
target, a lot of optimization tricks etc.  See llvm.org.  But
frankly, I think they have lost the plot. C is basically a
portable assembly programming language & in my highly biased
opinion a C compiler should do no more than peephole
optimizations.  If you want more, might as well use a high
level language.


Don't forget objective-c++ :-).  

http://clang.llvm.org/features.html#simplecode has some interesting pictures and words