imported from old wiki.. not updated yet
Latest official testing release of GCC from the MinGW project is gcc-4.3.0-20080502-mingw32-alpha.
The current GNU GCC Windows maintainers are Christopher Faylor and Danny Smith.
New features since the previous release
- Shared libgcc: If all modules are linked with -shared-libgcc, exceptions can be thrown across DLL boundaries.
- Shared libstdc++: Add -lstdc++_s to your link flags to link against a DLL version of libstdc++.
- Zero cost exceptions: New exception model Dwarf only has performance penalty when being thrown. The old model, SJLJ, is no longer available.
- Thread local storage support: The __thread keyword is honoured.
- Native language translations.
- New language: Java 1.5, using Eclipse front end
- New language: Objective-C++, intended to bridge C++ and Objective-C code
- Improved optimisation: SSA optimisation framework, IPA support, autovectorization of loops, and more.
- Support for new IA-32 processors and SIMD instruction sets
- Support for TR1 and experimental support for the next C++ standard
- Fortran language rewritten to support new standards
- Improved debugging information: Dwarf-2 debugging is now the default.
- OpenMP support
MinGW GCC 4.3.0 is presently in alpha testing as gcc-4.3.0-20080502-mingw32-alpha.
Assuming no major problems, beta testing on the MinGW GCC 4.3 branch will begin on May 21, 2008. By then, the most recent release will probably be 4.3.1, which will be the basis of the beta testing.
GCC 4.4 will be the next major release by the GCC project, which is anticipated to happen around the second quarter of 2009.
All major MinGW GCC improvements will be targetted to the current FSF GCC trunk, meaning that they will appear at the earliest in 4.4.0. Improvements for which there is significant demand by MinGW users may be backported to MinGW GCC 4.3.
DannySmith has said that GCC 4.2 will be officially released for MinGW, as soon as FSF releases it (read the e-mail).
DannySmith has posted an e-mail (reference missing) saying that GCC 4.1.2 is very near to release quality because many of the fixes made for GCC 4.2 were backported it. Specifically, he listed the following bugs that are still present in GCC 4.1.2
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31275 (the most recent of several reports).
Throwing exception objects across dll/exe boundaries (more info needed!)
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24196 C++ strings vs dll's.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14563 Inefficiencies and backtrace lossage associated with use of SJLJ exceptions. Changing to Dwarf2 exceptions is not hard.
GiovanniBajo? has released an unofficial unsupported release binary for GCC 4.1.2, with a few integration goods in it. Try it at your own risk.
The MinGW port of GCC 4.0 has too many bugs. DannySmith has decided to totally skip the GCC 4.0.x release serie because of this.