Originally posted by Game_boy
View Post
Second, RMS and the FSF are tools tbat only just recently stopped trying to actively make GCC near impossible to reuse. Clang was designed to be very easily used for third-party tools, like static analyzers or IDE integration, which RMS did not want to make possible with GCC out of an insane fear that proprietary developers would abuse any kind of parser API in a non-Free project. It took years of developers and users complaining and the looming threat of LLVM+Clang to get him to change his tune.
Third, LLVM has for a long time now had capable interprocedural analysis and optimization, while GCC has only just started to get support for such things via a rather hacky and kludgy approach. IPO allows for greater optimization of a program or library, and has been supported in various commercial compilers for some time.
Finally, LLVM has that "VM" part to it, while GCC is just a compiler. This opens up a lot of possibilities for Clang, including interpreting C/C++ code, which opens up a lot of possibilities for future compiler experimentation (say, a REAL meta-programming facility in C++, instead of the shitacular abuse of templates that people pass off as meta-programming today).
GCC already died once (when it was replaced with the fork EGCS), and there's no reason to fear letting it die again. ALL projects die eventually. Linux itself will die someday. Maybe not anytime soon, but it'll happen. Heck, Windows already died twice, too. Clang could replace GCC, and it can only be an improvement (because if it isn't, it won't ever replace GCC in the first place).
Comment