Currently FreeBSD uses GCC (GNU Compiler Collection) as its system compiler. Since the GCC project has moved to the GPLv3 license, the FreeBSD Project is forced to use version 4.2.1 or earlier.

However, an alternative compiler to GCC has emerged recently as a new possible candidate to become FreeBSD’s new system compiler, the BSD licensed CLANG (based on LLVM). License problems are not the only reason why developers have been working on porting this C compiler to FreeBSD, but it’s also clang’s features and performance that make it an interesting candidate.

The whole package of LLVM+clang has now reached a state that it can compile basically all of FreeBSD and a branch of FreeBSD integrating clang into it has been established.

Roman Divácký on behalf of the ClangBSD team announced this new milestone and called for testers:

“ClangBSD is a branch of FreeBSD that aims at integrating clang into FreeBSD, replacing GCC as a system compiler. Recently, we’ve achieved the state when clang can compile all of FreeBSD world on i386/amd64 platforms (including all the C++ apps we have and itself) and a bootable kernel. Thus we feel that the time has come to ask the FreeBSD community for wider testing on i386/amd64 (you sure can help with other platforms too”

At BSD Can 2010 (May 2010) Roman Divácký will do a  presentation on clang. (This event is in my FreeBSD Events & Conference Calendar). The talk aims to describe the history, current status and future possibilities of clang in FreeBSD as presented in the clangbsd branch.

I think that switching FreeBSD to Clang would be a good idea and I’m excited to see the clangbsd project is moving so fast. It would be great to see FreeBSD 9.0 or 8.x compiled with Clang, making FreeBSD GCC independent and we may see further improvements in speed.