On 01 April 2007 12:59, Paul Brook wrote: > On Sunday 01 April 2007 12:01, Dave Korn wrote: >> On 01 April 2007 07:08, ganesh subramonian wrote: >>> Hi >>> I work in a company where we have been using gcc-2.95.4 (based cross >>> compiler) for compiling our code. Most of the code is written in c++ >>> and makes extensive use of the stl libraries. We would not be changing >>> our operating system or processor architecture (so portability is not >>> a very good reason to give). There seems to be a lot of changes since >>> gcc-2.95 as a result of which we get a large number of errors when >>> trying to compile the code with gcc-3.x. >> >> Yes, this is known. The C++ language standard was still changing in the >> 2.95->3.x timescale, and GCC moved a lot closer to strict conformance. See >> >> http://gcc.gnu.org/gcc-3.4/changes.html#cplusplus >> >> You may find that using a 3.3 series compiler requires a good deal less >> rewriting than a 3.4 series compiler; which version did you try? > > If you're already switching compilers, moving to an already obsolete release > (3.3) seems a strange choice. At this point I'd recommend skipping 3.x > altogether and going straight to gcc4.1/4.2. > > Many of the improvements in c++ code generation were as a result of > tree-ssa, you only get with 4.x.
It is however a bigger step change, and a correspondingly bigger risk. There are arguments in favour of not running with the bleeding edge when what you want is simply a stable production compiler that will build your own particular codebase. It might be worth doing a three-way comparison of generated code size and performance to give some idea of what extra benefits were attached to those extra risks. cheers, DaveK -- Can't think of a witty .sigline today....