Comment Re:I often disagree with RMS, but... (Score 1) 476
For me, with GCC 4.7.2, the -ftree-vectorize fails miserably compared to GCC 4.3 for code that is already prepared for SSE or NEON vectorization.
For me, with GCC 4.7.2, the -ftree-vectorize fails miserably compared to GCC 4.3 for code that is already prepared for SSE or NEON vectorization.
Good points. So the issue is really with the GPL license enforceability....
I wonder if the same issues are at hand with GCCXML : http://www.gccxml.org/HTML/Index.html
One could make a library that just spawns a sub-process running GCCXML, then grab the result and pass the appropriate parts of the parse tree to the caller.
No linking involved, no GPL violations either.
That's not true in general, and not true specifically when generating SIMD code for SSE4 or ARM NEON.
All the latest GCC versions 4.4, 4.5, 4.6 have serious regressions in SIMD optimizations, it actually went backwards in efficiency over the years.
Final code efficiency is the primary reason why I needed to switch to Clang.
It is a real pain btw to have to have two C compilers for a single embedded device!
GCC has been effectively re-written many times during that time. I myself was involved in the porting of G++ v1.38 (before GNU G++ was part of GCC) to run self-hosted on the Atari ST, back in 1989 or 1990. I don't think anything still exists from that code base in GCC 4.7 at all.
...More like the barber shows you the cool new shaver that you didn't understand and that he helped design.
An interesting exercise is to compare the internals of Clang, written in more modern C++ versus gcc, written in C, and to decide for yourself which one you'd rather maintain.
http://llvm.org/svn/llvm-project/cfe/trunk/
http://gcc.gnu.org/viewcvs/trunk/gcc/
Note that Clang is written in modern C++ and is also faster than GCC.
One benchmark shown is that clang loading a parse tree of 'precompiled headers' is almost the same time as it takes to just compile the headers.
FWIW, I'm switching to Clang wherever it is supported because of all of the regressions in GCC for vectorization in C and C++ since GCC 4.2
This is what I don't understand - If GCC is under the GPL, and was modified to be a library, under the GPL the front ends / library clients that use it would ALSO have to be released under the GPL. The original developers had no problem with that. So what, exactly, would the problem be for RMS? It could only have increased the pervasiveness of GNU/GCC. And if there was some problem that RMS knows about then this would be a problem with the specific license that GCC uses.
Absolutely.
Also, one of the interesting points about the primary reasoning behind the creation of the CLANG compiler was not because of the GPL license.
it was because the developers wanted to make GCC more powerful, so that it could be used as a library.
Stallman refused to allow the features to be added even though they were not asking for the GPL licensing to be changed.
So the developers started CLANG. In c++. as a library.
Watch this for some very interesting history and features:
All languages are crap at some level and for some uses.
But watch this from Bjarne last february for some insight in C++11:
http://channel9.msdn.com/Events/GoingNative/GoingNative-2012/Keynote-Bjarne-Stroustrup-Cpp11-Style
But
No he is insulting fruit flies.
Is your IMAP server hosted on your own machine or co-located, or "in the cloud"?
Here are some very interesting, compelling reasons to switch to Clang:
I've seen two instances where a drive failed. Each time there were no handy replacement drives. Within a week a second drive died the same way as the first! back to backup tapes! Better to have replacement drives in boxes waiting.
All I know is that unpure beer makes me feel bad. YMMV.
Don't even bother trying to drink any beer unless it is brewed to the Bavarian Purity Law standard of 1516. Lots of smaller breweries in the U.S. and Canada have beer that complies.
Do you suffer painful elimination? -- Don Knuth, "Structured Programming with Gotos"