The widely used and deployed open source GNU GCC Compiler is out with a new release that fixes bugs and includes a feature that will aid shared-memory parallel programming.
GCC, originally an acronym for GNU C Compiler, now does a more than just C with support for Java and other languages. As such, GCC now stands for GNU Compiler Collection.
Compilers are critically important tools that compile source code into object code that can be run on a given platform and, as such, play a fundamental role in building virtually every piece of usable code on a system.
In the latest release, GCC 4.3, a key new feature, with support, is OpenMP. The MP in OpenMP stands for Multi-Processing, which is what the technology is all about.
OpenMP, according to the project’s description, is a specification for a set of compiler directives, library routines, and environment variables that can be used to specify shared memory parallelism in Fortran and C/C++ programs.
OpenMP strives to make it easier for developers to take advantage of parallelism. Programs complied with OpenMP support are supposed to work correctly in both serial and parallel environments. OpenMP is also supposed to make it easier for developer to convert from serial executed code to parallel executed code.
The 4.2 release of GCC follows the 4.1 release by just over a year. A key focus of the 4.1 release was code optimization, which is a theme that also carries forward in the 4.2 release with what GCC developers have labeled generically as general optimizer improvements.
GCC developer Ian Lance Taylor told internetnews.com he’s heard that GCC 4.2 gets better benchmark results than GCC 4.1, which in his view is a good thing.
With GCC 4.2 out the door, developers will now turn their focus to GCC 4.3, though at this point Taylor expects no new features for version 4.3, at least not yet.
GCC is one of the most storied and critical pieces of open source development. It was originally written by the “father” of the FOSS movement, Richard Stallman, in 1987 as a free software compiler for the GNU project.