Page 1 of 1

GCC version

Posted: Sun Jan 22, 2006 9:02 am
by srg
Hi

I was wondering, not just in os dev, but in all development, there seems to be 3 versions of GCC that are mainly used 3.3.x, 3.4.x and 4.0.x.

I was wondering, what are the advantages and disadvantages of these different versions as with most other compilers I've seen, most people try to plump for the latest one.

Of course, I realise there are still people using 2.95.x (which I have on my Amiga).

Re:GCC version

Posted: Sun Jan 22, 2006 9:16 am
by Candy
srg wrote: I was wondering, not just in os dev, but in all development, there seems to be 3 versions of GCC that are mainly used 3.3.x, 3.4.x and 4.0.x.

I was wondering, what are the advantages and disadvantages of these different versions as with most other compilers I've seen, most people try to plump for the latest one.
3.3 is well-tested and default on most installations, so you just use it. 3.4 is relatively well-tested and not too new, so it compiles all older code well while being newer. 4.x is new and complains about some things I consider normal, plus it's less tested. Of course, it's the newest so people are going to want it.

Re:GCC version

Posted: Sun Jan 22, 2006 9:26 am
by srg
Candy wrote:Of course, it's the newest so people are going to want it.
Especially the Fortran lot I expect LOL

Re:GCC version

Posted: Mon Jan 23, 2006 12:18 am
by Solar
3.3.6 has been the last release of its branch, development is closed.

3.4.5 is open for regression and documentation fixes only, and is scheduled for the closing release in Feb. 2006. Highlights from the list of changes:
  • requires GNU make and a C90 compiler to be build;
  • <varargs.h> has finally been tossed out;
  • ABI changes for several architectures (not x86);
  • new compilation scheme may break code relying on undefined stuff (compilation order, asm referencing statics that are not listed as arguments);
  • [tt]profiledbootstrap[/tt] making for a faster compiler;
  • C++ hand-written recursive-descent parser instead of the YACC derivate (many bugfixes).
4.0.2 is open for regression and documentation fixes only; no serious regressions known. Highlights from the list of changes:
  • incompatible with GDB 6.0; use GDB 6.1;
  • [tt]-fwritable-strings[/tt] no longer accepted;
  • optimization improved;
  • unoptimized C++ compilation receives massive speedup (~25%);
  • experimental support for C++ TR1.
4.1.x is open for regression and documentation fixes only. Highlights from the list of changes:
  • still better optimization;
  • recursive-descent parser replaces old Bison-based C/Objective-C parser;
  • support for x86-64 "medium model" (data segments >4GB) if using binutils > 2.16.91 (which is funny, as the latest binutils release at ftp.gnu.org is 2.16.1... either they screwed up their versioning scheme or GCC 4.1 is relying on unreleased binutils...).
The current development line is 4.2.x.