public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Query on Migarting from gcc3.3  to gcc4.1.2
@ 2008-09-04  8:59 Jomy Abraham
  2008-09-04 11:29 ` Eljay Love-Jensen
  0 siblings, 1 reply; 2+ messages in thread
From: Jomy Abraham @ 2008-09-04  8:59 UTC (permalink / raw)
  To: gcc-help




Hi,

I would like to know how different is GNU4.1.2  C++ compiler compared to GNU3.3 C++ compiler. This is to estimate the potential effort required to migrate the compiler used in our development environment.  We are currently using GNU3.3 for VxWorks 5.5.1 based development and now planning to upgrade the compiler to GNU4.1.2.

Some time back when we migrated the compiler from GNU 2.8   to GNU 3.3, we had to make changes (quiet a lot of)  related to some of the library calls with respect to the new STD libraries etc. (for example new ostringstream instead of oststream etc..). 

But considering the migration from GNU3.3 to GNU4.1.2, my assumption is that since gcc3.3 already supporting most of the ANCI C++ standards we may not have much work in migrating to GNU 4.1.2, probably except some warning removals due to some strong type/syntax checking introduced in gcc higher versions.

Awaiting your response

Thanks and Regards
Jomy

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Query on Migarting from gcc3.3  to gcc4.1.2
  2008-09-04  8:59 Query on Migarting from gcc3.3 to gcc4.1.2 Jomy Abraham
@ 2008-09-04 11:29 ` Eljay Love-Jensen
  0 siblings, 0 replies; 2+ messages in thread
From: Eljay Love-Jensen @ 2008-09-04 11:29 UTC (permalink / raw)
  To: Jomy Abraham, GCC-help

Hi Jomy,

From a C++ programming standpoint, GCC 3.3 and GCC 4.1.2 are similar.  GCC
4.1.2 is more C++ standard compliant than GCC 3.3.  (GCC 3.3 is pretty
standard compliant too.  GCC 4.1.2 moreso.)

GCC 4.1.2's C++ front end implements C++'s two phase name look up.  GCC 3.3
did not.  If your code writes a lot of templates, that may be some effort to
get the code to be compliant (putting in the typename keyword).  But would
be trivial compared to porting from ostrstream to std::ostringstream, from
GCC 2.8 to GCC 3.3.

I moved my C++ codebase from GCC 3.1 to GCC 4.1 without much difficulty.
The majority of the changes involved turning up the warning levels to
ludicrously high levels, and resolving all the warnings.  That was an opt-in
effort.

The other concern, if I recall correctly, will be that the GCC 3.3 C++ ABI
is incompatible with the GCC 4.1.2 C++ ABI.  That means you will need to
recompile all your C++ libraries, including any third party libraries you
use (if any).  The C ABI did not change, assuming your C libraries did not
use extensions -- such as supporting exception handling.

- - - - - - - - - - - - - - - -

From a GCC internals standpoint, I believe GCC 3.3 and GCC 4.1.2 are quite
different.  But I'm not savvy on the GCC internals.

I recommend reading the release notes for each release from GCC 3.3 to GCC
4.1.2, which will give a good synopsis of what has changed.

HTH,
--Eljay

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-09-04 11:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-09-04  8:59 Query on Migarting from gcc3.3 to gcc4.1.2 Jomy Abraham
2008-09-04 11:29 ` Eljay Love-Jensen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).