Hey, Phoronix,
Why didn't you read follow-up-mails before posting an article?
http://lists.cs.uiuc.edu/pipermail/c...er/011744.html
Phoronix: LLVM's Clang Is Onto Building The Linux Kernel
In February of this year the Clang C/C++ compiler for LLVM hit the milestone of self-hosting itself after Clang's C support was declared production ready (with the recently released LLVM 2.8, the C++ support is now deemed feature-complete) just last October. In April another achievement was reached for LLVM/Clang and that was building much of FreeBSD's base operating system. Today another milestone has been hit and that's building the Linux kernel for Debian to the point that it's functional and can run the X.Org Server both on bare metal and this can also be done within a QEMU virtualized environment...
http://www.phoronix.com/vr.php?view=ODcyMw
Hey, Phoronix,
Why didn't you read follow-up-mails before posting an article?
http://lists.cs.uiuc.edu/pipermail/c...er/011744.html
Wow!
Awsome. I have been following the bugtracker at
http://llvm.org/bugs/show_activity.cgi?id=4068
and there it still seems to be a couple of blocker bugs. I wonder how those things are solved/related to this anouncement.
This is great, clang is getting closer and closer to being the drop-in replacement for gcc it was aiming for. Having two open source free compilers to choose from when building our code is wonderful, especially since they both have different strenghts.
Clang was aiming to be a "drop-in replacement" for GCC? I got the impression that they really didn't want to just implement all the GNU extensions, just the ones that they thought were good/important.
From the Clang homepage:
'Clang Compiler Driver (Drop-in Substitute for GCC)
The clang tool is the compiler driver and front-end, which is designed to be a drop-in replacement for the gcc command.'
Given that the vast majoity of open source code is written for gcc, it would be pretty stupid not to aim for full gcc compability. And when talking about extensions, they were added because programmers needed them. And when programmers use them it's because they need them, not because they think they just look nice in the source code.
Clang doesn't aim to implement EVERY GCC extension, just most of them. There are a few nasty ones that they've decided to not support, which luckily aren't used by many projects anyway. The main thing is to just get all the command line options to match up so that you don't have to completely rewrite your build system to switch compilers.