After nearly one year in development, GCC 4.7 is out in the wild this morning. This also celebrates the 25 year anniversary of the GNU Compiler Collection.
From the release announcement:
"When Richard Stallman announced the first public release of GCC in 1987, few could have imagined the broad impact that it has had. It has prototyped many language features that later were adopted as part of their respective standards -- everything from "long long" type to transactional memory. It deployed an architecture-neutral automatic vectorization facility, OpenMP, and Polyhedral loop nest optimization. It has provided the toolchain infrastructure for the GNU/Linux ecosystem used everywhere from Google and Facebook to financial markets and stock exchanges. We salute and thank the hundreds of developers who have contributed over the years to make GCC one of the most long-lasting and successful free software projects in the history of this industry."
In terms of GCC 4.7 release highlights, Guenther mentions:
GCC 4.7.0 is a major release, containing substantial new functionality not available in GCC 4.6.x or previous GCC releases.
GCC 4.7 features support for software transactional memory on selected architectures. The C++ compiler supports a bigger subset of the new ISO C++11 standard such as support for atomics and the C++11 memory model, non-static data member initializers, user-defined literals, alias-declarations, delegating constructors, explicit override and extended friend syntax. The C compiler adds support for more features from the new ISO C11 standard. GCC now supports version 3.1 of the OpenMP specification for C, C++ and Fortran.
The link-time optimization (LTO) framework has seen improvements with regards to scalability, stability and resource needs. Inlining and interprocedural constant propagation have been improved.
GCC 4.7 now supports various new GNU extensions to the DWARF debugging information format, like entry value and call site information, a typed DWARF stack and a more compact macro representation.
Extending the widest support for hardware architectures in the industry, GCC 4.7 gains support for Adapteva's Epiphany processor, National Semiconductor's CR16, and TI's C6X as well as Tilera's TILE-Gx and TILEPro families of processors. The x86 family support has been extended by the Intel Haswell and AMD Piledriver architectures. ARM has gained support for the Cortex-A7 family.
Other work in this annual major update to this leading open-source compiler can be found in the prominent changes to GCC 4.7. There's also compiler performance benchmarks with Intel Sandy Bridge on GCC 4.7, GCC 4.2 through 4.7 benchmarks, and older AMD Bulldozer benchmarks (new tests are coming out soon).
GCC 4.7 will be found in Fedora 17, openSUSE 12.2, and other upcoming distributions sans Ubuntu 12.04. GCC 4.7 can also be built from source on your respective software platform and architecture.
Besides GCC turning 25, X11 will turn 25 years old this September.