Believe me, recent GCC (4.7, 4.8) is worlds better than 4.2. We pine for something better.
Like I said, this argument is dumb. The fact that Very Important People With Decision Power are making dumb decisions doesn't make it less dumb. FreeBSD isn't really doing this to support their business customers (again, things like Android are existence proofs to the contrary), they're doing it to stick it to the FSF (c.f. some of the comments in this very thread. That's dumb.
(Which is not to argue that clang is a bad choice -- it isn't!)
This is precisly why FreeBSD chose this route. It was a deliberate communicated decision years ago from the FreeBSD Foundation. I wonder if you have ever heard this quote:
> I believe it is an established maxim in morals that he who makes an assertion without knowing whether it is true or false, is guilty of falsehood; and the accidental truth of the assertion, does not justify or excuse him.
--Abraham Lincoln
However, note that it doesn't _bundle_ it. And Google has gone to some lengths to produce their own non-[L]GPL libc (Bionic). As far as I know, the Android userland is pretty much a no-GPL zone these days.
We can discuss if one should be allowed to modify ones own property, but lets at least be clear if that is the discussion we have.
Finally a compiler comes along that shares the same license philosophy and can be imported wholesale WITHOUT having to worry about licensing issues due to changes that may need o be made.
If clang/llvm hadn't come along FreeBSD would have upgraded to a later version of GCC.
Patents. A company need to know if they have patents, or patent agreement covering the GCC compiler.
Binary only modifications to GCC need to have corresponding source code.
If you include a GCC compiler in a router/hardware device, users need to be able to run their own modified compiler.
Thats about it. Cant really figure out any more use cases where GCC and Clang would differ.