GCC 3.2 Release Series
Changes, New Features, and Fixes

The latest release in the 3.2 release series is GCC 3.2.3.

Caveats and New Features

Caveats

Frontend Enhancements

C/C++/Objective-C

C++

New Targets and Target Specific Improvements

IA-32

x86-64


GCC 3.2.3

3.2.3 is a bug fix release only; there are no new features that were not present in GCC 3.2.2.

Bug Fixes

This section lists the problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 3.2.3 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here), and some of the titles have been changed to make them more clear.

Internal Compiler Errors (multi-platform)

C/optimizer bugs:

C++ compiler and library:

Java compiler and library:

x86-specific (Intel/AMD):

SPARC-specific:

m68k-specific:

PowerPC-specific:

Alpha-specific:

HP-specific:

MIPS specific:

CRIS specific:

Miscellaneous and minor bugs:


GCC 3.2.2

Beginning with 3.2.2, GCC's Makefile suite supports redirection of make install by means of the DESTDIR variable. Parts of the GCC tree have featured that support long before, but now it is available even from the top level.

Other than that, GCC 3.2.2 is a bug fix release only; there are no new features that were not present in GCC 3.2.1.

Bug Fixes

On the following i386-based systems GCC 3.2.1 broke the C ABI wrt. functions returning structures: Cygwin, FreeBSD (GCC 3.2.1 as shipped with FreeBSD 5.0 does not have this problem), Interix, a.out-based GNU/Linux and NetBSD, OpenBSD, and Darwin. GCC 3.2.2 reverts this ABI change, and thus restores ABI-compatibility with previous releases (except GCC 3.2.1) on these platforms.

This section lists the problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 3.2.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here) and some of the titles have been changed to make them more clear.

Internal Compiler Errors (multi-platform)

C++ (compiler and library) bugs

C and optimizer bugs

Objective-C bugs

Ada bugs

Preprocessor bugs

ARM-specific

x86-specific (Intel/AMD)

FreeBSD 5.0 specific

RTEMS-specific

HP-PA specific

Documentation


GCC 3.2.1

3.2.1 adds a new warning, -Wabi. This option warns when GNU C++ generates code that is known not to be binary-compatible with the vendor-neutral ia32/ia64 ABI. Please consult the GCC manual, included in the distribution, for details.

This release also removes an old GCC extension, "naming types", and the documentation now directs users to use a different GCC extension, __typeof__, instead. The feature had evidently been broken for a while.

Otherwise, 3.2.1 is a bug fix release only; other than bug fixes and the new warning there are no new features that were not present in GCC 3.2.

In addition, the previous fix for PR 7445 (poor performance of std::locale::classic() in multi-threaded applications) was reverted ("unfixed"), because the "fix" was not thread-safe.

Bug Fixes

This section lists the problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 3.2.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here). As you can see, the number of bug fixes is quite large, so it is strongly recommended that users of earlier GCC 3.x releases upgrade to GCC 3.2.1.

Internal Compiler Errors (multi-platform)

C++ (compiler and library) bugs

C and optimizer bugs

Preprocessor bugs

x86 specific (Intel/AMD)

PowerPC specific

HP/PA specific

SPARC specific

ARM specific

Alpha specific

IBM s390 specific

SCO specific

m68k/Coldfire specific

Documentation


GCC 3.2

3.2 is a small bug fix release, but there is a change to the application binary interface (ABI), hence the change to the second part of the version number.

The main purpose of the 3.2 release is to correct a couple of problems in the C++ ABI, with the intention of providing a stable interface going forward.  Accordingly, 3.2 is only a small change to 3.1.1.

Bug Fixes

C++

libstdc++

x86-64 specific