Latest official testing release of GCC from the MinGW project is gcc-4.3.0-20080502-mingw32-alpha.
The release of 4.4.0-beta is imminent. See below. A more detailed technical breakdown is coming soon, after the beta release.
The current GNU GCC Windows maintainers are Christopher Faylor and Danny Smith.
Various improvements have been made to GCC on Windows, but major unsolved problems remain. Nonetheless, releases have to happen. In the future, the plan is to release early and often, even if things are in a suboptimal state.
New features since the previous release (needs updating)
- 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
A beta release that is very similar to the final release is being rolled right now. There's some last minute problems with the build that need to be ironed out, and unfortunately the complete build/test cycle takes a very long time, more than 12 hours. Once the build is done, and there's no remaining major problems, it will be uploaded.
MinGW GCC 4.3.0 was released for alpha testing as gcc-4.3.0-20080502-mingw32-alpha. This was the only release of GCC 4.3.
Originally: "Assuming no major problems, beta testing of MinGW GCC 4.3.1 will complete mid-June, and MinGW GCC 4.3.1 will be released as latest official release." Due to exception handling problems, and other significant delays, this never happened.
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 to 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 series because of this.