I am currently compiling Octave and it uses LLVM for some JIT optimizations. It uses LLVM not because it has a more permissive license (Octave is under GPL), but because it is technically superior as a JIT compiler.
Clang/LLVM is used in probably all new iOS and OSX projects. The Linux kernel uses many GCC extensions, it was never designed to be portable.
Originally Posted by Pawlerson
Plenty of investments in GCC still, but its trend is not good compared to LLVM.
Sure seems like trolling to me too. ESR knows full well the FSF stance on GCC (why RMS created it in the first place), licensing, and why they won't have anything to do with proprietary software. Yet, it looks like he is pretending to be clueless so as to rehash all of the old Free Software Vs Open Source, Political Vs Technical arguments.
As pointed out earlier, supporting proprietary software would only be a disservice to the FSF and would do nothing to move developers working on Clang over to GCC.
I'm not sure I get what is going on here. Is he trying to relax the license requirement for plugins?
Isn't it GPL that made it possible for open and free software to stay alive all these years and keep it off the commercial battleground where it would have been eaten alive in a heartbeat?
So because he knows the FSF he is not allowed to make comments and objections and try to improve some things without being called an attacker of the FSF?
Originally Posted by Pawlerson
Really? You must be kidding.
Even if it is just about plugins, I'm not sure I see the point. And I don't really see the threat fron Clang either.
GPL software never had any problems competing with proprietary software, infact it has some advantages, something the author of "The Cathedral and the Bazaar" should know.
Even Walter Bright alone has been able to outperform Microsoft's compiler from he's garage.
I really don't see any threat here
I't's not a question of performance, MSVC is lacking in performance and conformance, but it's still in wide use because it's provided with Windows. Work on a project that has to compile on MSVC and you'll understand, no c99 support, many of the optional features of c++ that you actually want are not implemented, etc. LLVM is steered by apple for their use, I know that there are others working on it, but I'm always nervous of a proprietary vendor becoming central in the FOSS chain. That said, I'm not sure I agree with ESR, since GCC has improved massively since LLVM/clang started generating press, and I think that having two large competing projects actually spurs innovation and everything else good. In that regard I'm much more concerned with the GNOME falling out of favor and nothing rising to replace it.
Originally Posted by corebob
He is clearly missing what's the goal of GCC, GNU and FSF: free software everywhere. Go out and read some history book, or Wikipedia. The first goal for those projects is free software and favour proprietary crap inside gcc is not going to help on this. Yes you can say it will increase the share of gcc vs other compilers, but anybody but Microsoft already use open source (not the same as free software) compilers and the trend is who is not going to use gcc because of the license is going to use clang. But in the long term view it is not the share that matters, it is to give a choice, the choice of using full free software without being a class B citizen. If you want to do a plugin for gcc just do it with a free software, or if you really can't, at least open source. Why do you need to hide your staff anyway? Oh yeah..... cuda :/. The only not public ISA: nvidia. You are free and should go with clang, that matches your ethics more.
Octave is compiled with gcc on every platform afaik, but gcc basically has no usable JIT. Using LLVM (which does provide a JIT) seems rather painful though:
Originally Posted by Mat2
so I am not at all sure what you try to communicate with your post. This was about Clang, not about using LLVM for just-in-time compilation.
On a general note, GCC has allowed for plugins for five years already, so Eric is way off base. Any success of Clang has nothing to do with plugins. Moreover, his comment on error messages is also old news last time I checked. Unless things have changed again, GCC seems on level with Clang on diagnostics:
Generally speaking I believe there are two obvious reasons for Clang's success. The first and most important being Apple throwing their full weight behind it in an effort to replace GCC. On their own platforms Apple was very eager and succeeded in replacing GCC. The second is that Clang is a more modern design embracing C++, while GCC is struggling with being an older project restricted by loads of legacy code and being a C project. Gnu and RMS have opened up for refactoring GCC into C++, but this will be challenging. Looking at the ohloh.net pages of gcc, clang and llvm can be quite telling:
at any rate both projects seems to be doing fine.
Personally I share the scepticism against Apple. They are notorious for using an open core model, and do so effectively with clang (ref. http://en.wikipedia.org/wiki/Open_core ). That model has proven toxic to open projects (this can be debated I guess, but my impression is that we do have rather overwhelmingly empirical evidence). My first encounter with Apple and GCC was when I participated in a porting effort of some sofware (GPL licensed btw) over to OSX. At that point in time I had a rather positive view of Apple's role within the larger free software community (about five years or so ago). However, I was shocked to find out that their distribution of GCC was not open for download. You had to register with personal details as a developer with Apple, and only then could you access GCC as a part of xcode. That is, as part of a proprietary software that I had no interest in. For some this is no biggie I guess, but for me it was an eye opener.
Last edited by Del_; 01-22-2014 at 10:45 AM.