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

GCC 4.5 Release Series

Changes, New Features, and Fixes

Caveats

General Optimizer Improvements

New Languages and Language specific improvements

All languages

Ada

C family

C

C++

Runtime Library (libstdc++)

#include
int main()
{
std::vector v;
for (int k = 0; k < 1024; ++k)
v.insert(v.begin(), k);
}
When instrumented via the profile mode, can return suggestions about the initial size and choice of the container used as follows:
vector-to-list: improvement = 5: call stack = 0x804842c ...
: advice = change std::vector to std::list
vector-size: improvement = 3: call stack = 0x804842c ...
: advice = change initial container size from 0 to 1024
These constructs can be substituted for the normal libstdc++ constructs on a piecemeal basis, or all existing components can be transformed via the -D_GLIBCXX_PROFILE macro.

Fortran

New Targets and Target Specific Improvements

AIX

ARM

AVR

IA-32/x86-64

M68K/ColdFire

MeP

Support has been added for the Toshiba Media embedded Processor (MeP, or mep-elf) embedded target.

MIPS

RS/6000 (POWER/PowerPC)

RX

Support has been added for the Renesas RX Processor (rx-elf) target.

Operating Systems

Windows (Cygwin and MinGW)

Other significant improvements

Plugins

Installation changes

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 4.5.1 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).

All languages

GCC 4.5.2

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 4.5.2 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).

GCC 4.5.3

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 4.5.3 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).

On the PowerPC compiler, the Altivec builtin functions vec_ldand vec_st have been modified to generate the Altivec memory instructions LVX and STVX, even if the-mvsx option is used. In the initial GCC 4.5 release, these builtin functions were changed to generate VSX memory reference instructions instead of Altivec memory instructions, but there are differences between the two instructions. If the VSX instruction set is available, you can now use the new builtin functions vec_vsx_ld and vec_vsx_st which always generates the VSX memory instructions.

GCC 4.5.4

This is the list of problem reports (PRs) from GCC's bug tracking system that are known to be fixed in the 4.5.4 release. This list might not be complete (that is, it is possible that some PRs that have been fixed are not listed here).