GCC 4.8.0 Release Marks Completion of C++ Migration
hypnosec writes "GCC 4.8.0 has been released (download), and with it, the developers of the GNU Compiler Collection have switched to C++ as the implementation language, a project the developers have been working for years. Licensed under the GPLv3 or later, version 4.8.0 of the GCC not only brings with it performance improvements but also adds memory error detector AddressSanitizer, and race condition detection tool the ThreadSanitizer. Developers wanting to build their own version of GCC should have at their disposal a C++ compiler that understands C++ 2003."
For not using the word "dog food" in the summary.
...
You need to compile this compiler with a compiler which begs the question....
How was the first compiler compiled?
This should be in the Debian repositories by the end of the decade.
http://packages.debian.org/search?suite=experimental&searchon=names&keywords=GCC Its already in experimental....which is where it belongs. Debian is all about stable, which is kind of the point, but if its not hitting it fast enough, there are a whole host of linux options available to you...like Ubuntu.
From the changelog: "A new general optimization level, -Og, has been introduced. It addresses the need for fast compilation and a superior debugging experience while providing a reasonable level of runtime performance. Overall experience for development should be better than the default optimization level -O0."
This actually sounds really attractive to me... I'll have to try it out.
[GUARD #1] Are you suggesting compilers migrate?
[ARTHUR] Not at all, they could be carried.
Anyone know when RedHat is going to make a version of devtoolset which offers GCC 4.8?
Shouldn't we have some book that explains how to quickly bootstrap ourselves back to current levels of civilization?
Such information was collected in the 1950s, stored on microfiche, and copies provided to major US fallout shelters, along with a reader that only needed sunlight. I have no idea where to get that now.
There's a classic set of books, Build Your Own Metalworking Shop From Scrap, by David Gingery, just for this purpose. The first book, Build Your Own Charcoal Foundry, starts the process. The books do assume there's plenty of metal scrap around; you're not expected to start from ore.
Getting up to pre-WWII levels from very little can be done. Much of Europe and Japan had to do it after WWII. Although many of the skills have been lost. How many people today can operate a lathe?
Now! Witness the power of this FULLY OPERATIONAL C++ Compiler! Muahahahahahaha! Erm... damn it... what's the flag for debug symbols again?
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
From Wikipedia:
> LLVM was originally intended to use GCC's front end, but GCC turned out to cause some problems for both the LLVM developers and Apple. GCC is a large and somewhat cumbersome system to develop; as one long-time GCC developer put it, "Trying to make the hippo dance is not really a lot of fun"[7] and a Google Summer of Code intern commented, "Reading GCC codebase has been a hard exercise for me. In fact it's the only project I know of that becomes more and more difficult as time passes."[8]
I'm just wondering, is this still the case? It sounds like they haven't changed much of anything, merely ported their codebase to C++. Am I correct in assuming that the above is still true or is this new version supposed to usher in a new era of GCC prosperity and usability on things other then the command line?
Can it be used for non-OSS development and releases of compiled binaries to a customer?
It's not trolling, I really need to know (embedded dev here).
Apparently compiling speed is less important when using powerful CPUs and cross compiling for slower architectures.
227-3517
I am software developer and I don't really care in what language my compiler is written. It is more important for me that it compiles my code correctly and as fast as possible.
What is the current situation with GCC vs. CLang?
Nice troll but Linux is still mostly compiled with GCC. Since Linux devices dominate non-Linux in numbers... yes GCC is still relevant, probably more so than other compilers. The world isn't exclusively desktop computing anymore. Get over it. Linux+GCC has practically taken over the world.
I realize I'm feeding the troll, however I will note Microsoft don't make a C compiler, only a C++ one with historical C support: it only supports C as specified in C89, not C99 or C11. This can and does cause problems for people who try to use it to compile modern C source code.
Yeah, I had a sig once; I got bored of it.
The summary states building GCC requires a compiler, but doesn't GCC bootstrap itself? Older versions were able to do so.
How many millions of devices are running software compiled with GCC all for the sake of for the sake of habit? LOL. Try harder, hairyfeet.
http://www.quickmeme.com/meme/3thnsv/
clang is a lot faster and uses a huge amount less memory than GCC when running. for some projects this is rather important.
gcc has a lot of cross-build chains out there, and a lot of experienced users. but i have never seen a clang->arm cross chain.
clang++ is still using GNU libraries for C++ stuff.
clang is still a pain in the ass to compile, with unclear instructions, and a massive, huge compile time. gcc on the other hand is built by automated scripts quite frequently as part of, for example, cross-toolchain builds.
clang has vastly better error messages than gcc. this is increasingly important with the popularity of huge complex template libraries like boost, eigen, cgal, etc etc etc.
i mean if you dont have a compiler on your system, how do you 'compile' c source code?
Linus seems rather impressed by the quality and performance of GCC 4.8.0. From google+:
"All these years I might have been wrong about c++. I've decided to migrate the whole kernel to c++. Sorry to all the folks whom I called morons for not using c. From this point on only c++ patches will be accepted."
gcc is the standard compiler for Linux.
It is the only compiler I've used on Linux.
Pretty much anyone using linux, or windows for that matter.. Mingw is quite popular for the latter, though obviously not as popular as visual studio.
I've never seen an OS stagger a modern core2 cpu like osx, so I can't say much positive about anything apple's done with their compiler.
My understanding Microsoft now dropped ALL C support. It's now official.
Ha, it's the Time Cube rant with random phrases pasted in. I knew there was something familiar about it.
a while I have to ask if that's still true post 2.9
3.0, 3.1 and 3.2 all appear to have made dramatic drops in performance compared to previous iterations, and the closer the compiler comes to supporting gcc/g++'s compilable base of applications the slower it appears to run.
That may just be my experience, but it seems to hold true, especially against gcc 4.2 nevermind certain earlier versions (3.3.6 and 2.95.3, neither of which are really usable with a 'modern' toolchain, other than musl.)
It's the compiler that usually ships with distributions, but it's far from being the only compiler used on Linux. Many companies uses for example the Intel or PathScale compiler suites. Both commercial, although PathScale actually went open source a couple of years ago.
It's worth pointing out that GCC has been under GPLv3 since version 4.2.2 back in 2007. If it's a problem for anyone then it has been a problem for over five years now.
http://gcc.gnu.org/ml/gcc-announce/2007/msg00004.html
Most software I've seen at that type of scale that is written in C usually invents their own object-like system, so if you're going to use something like that anyway then why not use something standardized?
Ever since the hyped introduction of java, the C++ neighborhood has been nice and orderly. The streets are clean, the trash is picked up, everything works. No marauding gangs of script-kiddies to stink up the native code neighborhood, because the eye of Sauron is busy with the latest interpreted language-of-the-day. We like our cul-de-sac, and want to keep it that way.
ICC isn't bad. It's not open source, but you can obtain it gratis for non-commercial use.
Il n'y a pas de Planet B.
Do they use those compilers to build the Linux kernel? The point is Linux is relevant. Linux (kernel) is almost always compiled with GCC. Ergo GCC is almost as relevant as Linux.
Anyone know of any distributions using something other than GCC to compile the kernel? Anyone know of any Android or Android like platforms that use something other than GCC to compile the kernel?
Like it or not, GCC is still being used on a very large scale. More so than any other compiler in existence.
how stupid of me. i was going on personal experience having spent 15+ hours compiling clang on 3 different architectures. now, while i personally think that what i experienced was valid, and that my estimation of it as being difficult, having been compiling gcc since around 1997, is probably somewhat accurate, you obviously know me better than i know myself. you also can somehow intuit my true experiences which have somehow obviously been scrambled in my brain. when i thought to myself over and over 'oh, is that for 3.0 or... and where exactly is the binary', that was actually a fun sort of adventure, that was actually very easy, and that somehow it was MY fault for interpreting these things wrong. and for going to clang.org wrong. and for reading the official instructions wrong. and for reading bug reports filed by many, many other people - i mean, what do they know? after all, they are not you. . . you who can see into peoples true experiences, and understand that what they thought of as 'difficult' was simply a lie, caused by their own incompetence if nothing else!!!! yes. you, truly, are the savior of clang. thank god you are here on the internet to set poor fools like me correct. poor stupid muzhiks that we are, we need your guidance, we need your holy word, we need your very soul to correct the wrongs of history!
and what is your point?
but hey, lets not bicker and argue about whose script doesnt actually fucking work and whose does
The problem with that approach is that you lose an important idiom that doesn't have a good substitute.
The idiom has already been lost, if only because communication is fundamentally about conveying concepts among those involved in discourse. The term "begs the question" at best is ambiguous now, but truly the original definition has been supplanted in common usage. Thus, using the idiom increases confusion in discourse (which is considered harmful).
Besides, "begs the question" (original idiom) doesn't mesh with the common usage of the word "beg" anymore, unlike how the "begs the question" (modern idiom) does. I argue that it was a poor choice of term in the first place.
Better to start promulgating the Latin term "petitio principii" for the fallacy, which should remain unambiguous forever. Or try "presumes the argument" or "presumes the point" instead, both of which are self-explanatory and are unlikely to become obsolete. Hell, the latter form has the same syllable count as "begs the question".
It is akin to killing a fly with a tank cannon. Some people just want a flyswatter.