GCC 3.1 Release Series — Changes, New Features, and Fixes

GCC 3.1 Release Series

Changes, New Features, and Fixes

Additional changes in GCC 3.1.1

Caveats

General Optimizer Improvements

New Languages and Language specific improvements

C/C++

C++

The amount of storage allocated for the array will be greater than it was in 3.0, in order to store the number of elements in the array, so that the correct size can be passed tooperator delete[] when the array is deleted. Previously, the value passed to operator delete[] was unpredictable.
This change will only affect code that declares a two-argumentoperator delete[] with a second parameter of typesize_t in a base class, and does not override that definition in a derived class.

does not cause unnecessary storage to be allocated when an array ofA objects is allocated.
This change will only affect code that declares both of these forms of operator delete[], and declared the two-argument form before the one-argument form.

G++ will allocate a in the return value slot, so that the return becomes a no-op. For this to work, all return statements in the function must return the same variable.

Objective-C

Java

Fortran

Fortran improvements are listed in the Fortran documentation.

Ada

AdaCore, has contributed its GNAT Ada 95 front end and associated tools. The GNAT compiler fully implements the Ada language as defined by the ISO/IEC 8652 standard.

Please note that the integration of the Ada front end is still work in progress.

New Targets and Target Specific Improvements

Obsolete Systems

Support for a number of older systems has been declared obsolete in GCC 3.1. Unless there is activity to revive them, the next release of GCC will have their sources permanently removed.

All configurations of the following processor architectures have been declared obsolete:

Most configurations of the following processor architectures have been declared obsolete, but we are preserving a few systems which may have active developers. It is unlikely that the remaining systems will survive much longer unless we see definite signs of port activity.

Finally, only some configurations of these processor architectures are being obsoleted.

Documentation improvements