GCC 3.3 Released 441
devphil writes "The latest version of everyone's favorite compiler, GCC 3.3, was released today. New features, bugfixes, and whatnot, are all available off the linked-to page. (Mirrors already have the tarballs.) Let the second-guessing begin!"
gcc 3.3 fails on glibc 2.3.2 (Score:4, Interesting)
GCC 3.3 (Score:0, Interesting)
I wonder ow much slower than the last release is it...
Sigh (Score:5, Interesting)
Bounds Checking (Score:5, Interesting)
Although it dosnt seem to work with glibc....this is quite annyoing, although it probably will be fixed and re-released in a few days
ABI? (Score:4, Interesting)
slower than the last release.... (Score:3, Interesting)
The following changes have been made to the IA-32/x86-64 port:
SSE2 and 3dNOW! intrinsics are now supported.
Support for thread local storage has been added to the IA-32 and x86-64 ports.
The x86-64 port has been significantly improved.
If you wan't compile time performance look at
Precompiled Headers [gnu.org]
Two things I don't understand. (Score:5, Interesting)
The preprocessor no longer accepts multi-line string literals.
Why was this removed?
And:
The header, used for writing variadic functions in traditional C, still exists but will produce an error message if used.
This I don't understand at all. Does it mean we can't write void somefunc(int argc,
Someone, please explain...
SuSE already uses it (Score:5, Interesting)
I just got SuSE 8.2 installed this week, which includes GCC 3.3, and noticed that the kernel is also compiled with GCC 3.3. From 'dmesg':
Precompiled header support (Score:1, Interesting)
Why is it that GCC never seem to get precompiled header support added?
The compilation speed of GCC is one of its biggest weaknesses when you compare it to eg MSVC. All Windows compilers seem to have had this since the DOS days, but still GCC have never gotten this feature. How come?
Re:this is all well and good (Score:2, Interesting)
What does it mean? (Score:3, Interesting)
BTW, there is a preliminary ebuild in Gentoo.
Re:gcc 3.3 fails on glibc 2.3.2 (Score:2, Interesting)
The compiler should at least be able to compile a) the Kernel b) the Glibc.
From the release timeframe a) is no problem. But b) usually takes half - one year to show up with a new release. They should at least release gcc and glibc at the same time or at least provide patches. Regardless to that the glibc and gcc people are almost the same persons so they should know best.
Re:Precompiled header support (Score:3, Interesting)
If you follow the advice of any good programming book, you shouldn't be including unnecessary header files anyway.
One of the reason you need precompiled header support in Windows, is because to write any meaningful Windows program, you need to include <windows.h>, which include everything.
Re:gcc 3.3 fails on glibc 2.3.2 (Score:2, Interesting)
Re:Everyone loves GCC? (Score:3, Interesting)
Intel C++ Compiler 7.1 Rules (Score:4, Interesting)
Re:this is all well and good (Score:4, Interesting)
Are you sure you are not getting precedance confused with order of evaluation between sequence points?
C++ has fairly flexible rules in that regard, the much discussed (on comp.lang.c++) undefined behavior and implementation-dependant behaviour. For example i=i++; invokes undefined behaviour that may vary between compiler settings. My instinct would be that that is more likely to be the problem than compiler error in most cases. You should post the problem code to see if that is the case.
Re:Yes but... (Score:1, Interesting)
I think the argument can be made (Score:4, Interesting)
that open source requires more skill on the part of the developer to get through the learning curve.
A greater amount of knowledge about what is happening at all levels is mandatory to make that GNU\Linux system happen.
Whether this is a but or feature probably depends on your current location on the learning curve. The more I interact with open source, the more I like the fact that there are relatively fewer secrets about what is occuring, a feature that seems lost by the time you reach the West Coast...
A bug in a deprecated GCC extension (Score:3, Interesting)
I believe the plan is to add a warning in 3.4 and remove it in 3.5.
Re:Sigh (Score:1, Interesting)
Re:Sigh (Score:4, Interesting)
not really; it's a combination of kernel developers trying things to deal with 'intelligent' inlining, or implementing hacks when they discover an idiosyncrasy with GCC. As the gcc team 'resolves' (fixes?
The goal, though, is using the latest kernel with the latest compiler will generate the most correct code. Simply pointing a finger at the kernel developers is incorrect; both sides can be the cause of compiler failures.
disclaimer: not a kernel developer, just a more-than-casual observer.
'fester
Re:this is all well and good (Score:5, Interesting)
My favorite feature was the scripting ability. You could write VB Scripts (or start by recording them as a macro) to accomplish tasks. I wrote several VB Scripts that wrote out comments in the code.
KDevelop is the only thing I have seen that's close to Visual Studio. I have C++ Builder 3.0 Professional at home, but I still like the design and easy of use of Visual Studio. The C++ Builder interface is missing some things--like scripting.
Re:Bounds Checking (Score:4, Interesting)
I hear they have added in some more advanced, and aggressive bounds checking.
What are the run-time performance implications of this bounds checking? It sounds very nice for debugging, and a great thing to turn on even in production code that may be vulnerable to buffer overflow attacks, but it can't be free. A bit of Googling didn't turn up anything; does anyone know how expensive this is?
So when do we get a working debugger for g++? (Score:3, Interesting)
Re:What does it mean? (Score:3, Interesting)
Not very promising!! Basically you're saying this won't make much difference to the end user in terms of speed. I'm not arguing -- I'm agreeing.
Personally, I would much rather have a slow compiler which gets the most out of my system. Apparently the gcc2.95-age compilers are faster than the gcc3 series: in my book that's a good thing. But has anyone done any testing? How long does it take to do something CPU intensive with each compiler version? It wouldn't take much skill to make a script encoding an SVCD using mencoder/transcode compiled with different gcc versions -- any takers? (I'm in my master's exams...)
And when will there be proper support for my Morgan Duron? At the moment I use athlon-xp in order to use my SSE instructions: but surely the cache size makes a difference to the code gcc should put out?
Still buggy for Dreamcast (Score:3, Interesting)
Re:What does it mean? (Score:2, Interesting)
Re:nonnull function attribute (Score:4, Interesting)
It's possible to check at compile time. It's not so much that the compiler detects whether a parameter is null or not at compile time, but whether it can be. For example:
can trigger a warning or error, because malloc() does not return a "nonnull" pointer, and so passing p to do_work is dangerous. On the other hand, given the code: then the compiler can work out that the call is safe. This is how LCLint, for example, can do with itsRe:Two things I don't understand. (Score:5, Interesting)
Re:Hmph (Score:5, Interesting)
Now I understand what Bjarne Stroustrup wrote, when he described
The standard hasn't changed since 1998.
The extensions are, in many cases, older than the standard. Now they conflict with rules added by the standard. One or the other has to give. And, of course, no matter what happens, somebody out there will declare that GCC "obviously" made the wrong choice.
If you think it's easy, why don't you give it a try? Hundreds of GCC developers await your contributions on the gcc-patches mailing list.
If you don't like it, you should demand your money back.
Again, the standard was published in 1998. The three changes you describe were decided upon even before then, and they haven't changed since. You've had 5 years to walk down to the corner bookstore and buy a decent book, or search on the web for "changes to C++ since its standardization". None of those changes are due to GCC, and trying to shift the blame to GCC only points out your employer's laziness.
You've had half a decade. Catch the hell up.
Re:Mostly compatible, but... (Score:3, Interesting)
Re:A question about gcc cpu Optimization? (Score:2, Interesting)
Re:gcc 3.3 fails on glibc 2.3.2 (Score:2, Interesting)
As for the kernel, which "the" kernel is that?