The GPLv3 is why. The current C compiler in FreeBSD is GCC 4.2, which is what, seven years old? They can't use a more modern one because they're all licensed GPLv3 which is incompatible with FreeBSD's base system. Clang has a more liberal license. As I recall, this is also why Apple switched to Clang (though there were many side benefits for Xcode).
Clang, yes, but llvm was started in 2000 at the University of Illinois at Urbana–Champaign, 7 years before clang (the c front-end) was open-sourced by Apple. Chris Lattner, one of the original LLVM people developed Clang at Apple, and Apple has been quite nice to llvm + clang =D
It's not a legal incompatibility; FreeBSD has never shipped modified GPL software anyway to my knowledge (beyond things like patches to cleanly-separated ports that can be distributed independently under the GPL).
It's a philosophy thing. The new provisions in the GPLv3 (principly the counter-tivoization requirements which prevent shipping integrated devices without reprogrammability) are seen as unacceptable to the FreeBSD team. So they simply ruled against the license, which means that recent versions of gcc are unusable and they need to look elsewhere for a modern compiler.
That's the official answer. The cynical answer is that they've always hated the FSF and their dependence on GNU software, and are finally jumping ship now that there's a non-copyleft compiler available for them to use.
They wouldn't. Most situations where GPL exclusions are enforced are still willing to include a modern gcc toolchain.
But still, it's FreeBSD's distro, and they get to write the rules. And clang is a modern, attractive compiler. The feud may be dumb but the choice isn't.
If you were the only one in possession of oxygen I would buy it from you, but that would not imply that I had no problems with the idea of buying oxygen.
Also, the difference between GPL2 and GPL3 is large enough for many BSD backers to be of concern (the anti-Tivoisation clauses mean that one cannot close down firmware compiled with a GPL3'd version of gcc if it contains even the tiniest part of libc. Possibly, even using some of its macros in your code would be enough to require you to make your software GPL3. We won't know until this has been to court, but why take the risk?
XCode is a solution for app development only. Occasionally I dig around looking for quotes, but AFAICT Apple has never claimed they're using clang for all of iOS and OS X. I suspect most of the internals are still built with gcc. Does anyone have evidence either way?
"Apple shipped the Mac OS X 10.8 and iOS 6 releases, and they were built virtually entirely with Clang - llvm-gcc is obsolete."
Another interesting thing:
"We invested major effort into compiler implementation and tuning for the custom Apple CPU design known as the "Apple A6". The exceptional CPU performance of the iPhone 5 was a result of a joint effort between the Apple silicon and LLVM teams."
Good quote, but that "virtually" is interesting. What parts are still using gcc? And is the interpretation that everything using the LLVM backend and not the GNU one?
The A6 quote doesn't mean much. All compilers work hard on device-specific optimizations; you can find similar press releases from Intel every few months.
The components of iOS that are written in C, C++ and Objective-C are all compiled with Clang. The few components that are written in other languages are not.