RealTime IT News

GCC 4.3 Expands Compiler Languages

P>For more than 20 years, GCC has been at the heart of free and open source software development as the compiler of choice. This week the compiler expanded choices for developers with the release of GCC 4.3, which adds what developers refer to as substantial functionality not available in GCC 4.2.x or previous GCC versions.

GCC originally was an acronym for GNU C Compiler and has changed in recent years to stand for simply the GNU Compiler Collection, as it supports more languages beyond just C.

Compilers are critical 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.

According to a spokesperson for Linux vendor Red Hat's GCC development team, among the significant enhancement in GCC 4.3 is preliminary support for the C++0x draft.

C++0x is the upcoming standard for the C++ programming language ISO, which was last officially updated in 2003. Red Hat's spokesperson claimed that GCC 4.3 includes the most complete implementation of C++0x to date.

The new version also includes many C++ and libstdc++-v3 improvements as well as hundred of bug fixes over GCC 4.2, which came out in May 2007. The Red Hat spokesperson noted that GCC 4.3 also provides additional warnings for nonstandard or questionable coding practices.

The GCC project has wide participation from a long list of vendors, and GCC has appeared in nearly every Linux distribution. Red Hat developer Jakub Jelinek made the actual release announcement for the GCC 4.3 release, as Red Hat is a strong contributor to the GCC project.

"Red Hat's technical expertise and leadership provides significant contribution to the GCC project," the Red Hat spokesperson noted. "As such Red Hat has a team of full-time engineers actively working on adding features and improvements to GCC, consisting of global maintainers and numerous component maintainers."

Though the development of a compiler may sound like a dry activity since it's a mature technology, plenty of areas remain for GCC to innovate, including link time, program optimizations and further loop optimizations, the spokesperson said.

Other areas of possible innovation include improved debug information generation, compile time improvements and autovectorization/autoparallelization, according to the company representative.

GCC updates in recent years have focused on some similar areas. GCC 4.2 introduced numerous new parallelization features, and GCC 4.1 had a strong emphasis on optimization.