GCC 3.1 Released
gergnz writes "Just popped into my inbox, GCC 3.1 released. There are many bug fixes over 3.0. "we focused more on quality than new features" Mark Michell. Here are the changes, and you can see a list of ftp servers here. This is the release I have been waiting for. I will now upgrade :-) Well Done to all involved!"
Windows was at that level 8 years ago! Even VC++ is up to 7.0 now. Sheesh! Faster development with fewer bugs, my ass.
Seriously, though. Hopefully this takes care of all those niggling bugs that made 3.0 unusable. Maybe this will encourage everyone to jump from the 2.x tree finally.
I have been pwned because my
Pros:
-Runs on everything
Cons:
-Slow
-Generates slow code
Here's a short run-down of the improvements that really caught my eye this time around.
Everyone knows I'm no fan of the GNU project, but GCC3.1 shows that they have a lot going for them. Very exciting guys, I can't wait to see what 3.2 has in store.
--Dan
will it be available in Cygwin...
Has anybody tried using it yet? I don't want to be the first kid on the block to give it a go...
[Well, I won't dwell on my rejected submission for this.]
But my attempt to build gcc 3.1 on sparc-sun-solaris2.8 gave me this problem:
../../gcc-3.1/gcc/p rint-rtl.c -o print-rtl.o
../../gcc-3.1/gcc/print-rtl.c:30:
../../gcc-3.1/gcc/tree.h:3183: stray '\273' in program
../../gcc-3.1/gcc/tree.h:3183: stray '\224' in program
../../gcc-3.1/gcc/tree.h:3183: stray '\315' in program
../../gcc-3.1/gcc/tree.h:3183: stray '\352' in program
../../gcc-3.1/gcc/tree.h:3183: stray '\274' in program
../../gcc-3.1/gcc/tree.h:3183: parse error before '&' token
../../gcc-3.1/gcc/tree.h:3183: stray '\246' in program
../../gcc-3.1/gcc/tree.h:3183: stray '\21' in program
.
.
.
echo timestamp > s-check
stage1/xgcc -Bstage1/
-B/usr/local/sparc-sun-solaris2.8/bin/ -c
-DIN_GCC -g -O2 -W -Wall -Wwrite-strings
-Wstrict-prototypes -Wmissing-prototypes -Wtraditional -pedantic
-Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -I. -I../../gcc-3.1/gcc
-I../../gcc-3.1/gcc/. -I../../gcc-3.1/gcc/config
-I../../gcc-3.1/gcc/../include
In file included from
[This went on for some while.]
Any ideas?
"Provided by the management for your protection."
I remember being optimistic about 3.0 only to be disapointed that it wouldn't compile kde.
Does it implement export yet?
I doubt it.
/..sig file not found - permission denied.
FYI I've just had my make bootstrap complete successfully on my Ultra 60 running Solaris 9, with the companion CD installed using gcc-2.95.3
I'm out of my tree just now but please feel free to leave a banana.
Nope, the only compilers which are close to having export are the EDG-based ones. Comeau might be on sale in release (rather than beta) form this month. No released compiler has export just yet, but some are real close now. (http://www.edg.com/ or http://www.comeaucomputing.com/ for some more details if you care.)
Those are all important improvements but surely the most important change is the inclusion of the GNU Ada 95 compiler (GNAT) in the GNU Compiler Collection. Try it! Be cool. Be leading edge. Be smart. Be productive.
Yes, GCC 3.1 compiles KDE 3.0 just fine, according to initial prerelease reports. However...
"C++" as you call it, was doing pretty well. Most of the problem was that the KDE library folks expected to be able to break the ODR and have GNU ld magically fix it for them. (Even open source projects have to follow the rules of the programming language in use, sorry...)
You cannot apply a technological solution to a sociological problem. (Edwards' Law)
I hope Apple has the insight to ship this version of GCC with Jaguar rather than the much maligned GCC 3.0.x
Forgive my ignorance, but what is export?
In short: thing that reduces bloat/speed/compile time when you use templates. Every bigger c++ (KDE and the like) project would kill for it. But AFAIK it is difficult to implement... pitty.
Reduces speed? Finally something really usefull. I always wanted [StarOffice|OpenOffice|KDE] to start with dignity. If they could slow down that blindingly fast linker a bit, it would be... yes, perfect.
export is unlikely to help to reduce bloat. Coding well or using a smart compiler will do that. Compile time doesn't appear to much be affected by initial implementations of export.
Export helps to reduce header file dependencies, which is a good thing. It also makes it possible to ship template libraries without exposing implementation details as plain text.
Is now prelinking possible (with current/next binutils/glibc)? Real prelinking, not objprelink or combreloc.
Does GCC 3.1 build the Linux kernel correctly now? I had problem with the GCC 3.0.x versions and some 2.4 kernel modules.
Can code generated by this version of GCC use, say, registers AH and AL at the same time? I don't think GCC 2.x can do this.