While the Tiny C Compiler may be quick at compiling code, the lightweight C compiler hasn't been too quick to advance with new releases and features.
I've written a lot recently about the forthcoming GCC 4.8
and LLVM 3.2
compilers with the marvelous new features they provide, but there hasn't been anything to report on the Tiny C Compiler (a.k.a. "TinyCC") in quite some time. The most recent TinyCC release, version 0.9.25, came out three years ago.
The Tiny C Compiler was conceived back in 2001 by Fabrice Bellard and supports ANSI C plus most of C99 and many GNU C extensions. TinyCC benchmarks have been favorable
at compilation speed and resulting binary performance, but its main feature comes down to producing small binaries rather than the speediest generated code. The TinyCC executable is just around 100KB in size on x86.
The TinyCC home-page
of Fabrice Bellard reads "I am no longer working on TCC," but there is still new development. The TinyCC mailing list
remains active with up to a couple dozen messages per month, some of which are introducing new code. The bug count against TinyCC is also now quite small
thanks to other open-source developers working on this LGPL-licensed compiler.
TinyCC is now developed on Git with its main repository being here
. The development is still active there on master along with the "mob" branch
where most of the new development happens. There's a handful of commits going into the Tiny C Compiler repository per month with the most recent activity being just from yesterday.
Among the TinyCC changes that have been built up in the Git repository since the three-year-old 0.9.25 release is support for automatically generating dependencies for make, support for Security-Enhanced Linux (SELinux), support for Debian GNU/kFreeBSD and Debian GNU/Hurd kernels, support for indirect functions as externals, support for C99 variable length arrays, improved support of ARM platforms, and support for ARM hard-float calling conventions.
Another open-source C compiler that's been slow to advance is the Portable C Compiler